84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
人生最曼妙的风景,竟是内心的淡定与从容!
私も同じ問題に遭遇しました。 方法 1 と 2 を正しく使用する方法がわかりません。最も簡単な方法も
実は
返されるのは ManagedChannelBuilder[Any] です。実際、ここでは Any であってはなりません。しかし、
その後、nameResolverFactory はこの T を Any として返します。 その後、Any の build メソッドを呼び出すことになりますが、明らかにコンパイルを通過できません。
もっと良い方法があるといいですね~
=========================================== === ====更新
問題を単純化します:
これは元の定義です。これを def retA: A[_ <: A[_]] = ??? に変更すれば問題ありません。
def retA: A[_ <: A[_]] = ???
これでうまくいきます
同様に、ManagedChannelBuilder<?>に戻るときは、.asInstanceOf[ManagedChannelBuilder[_ <: ManagedChannelBuilder[_]]]
ManagedChannelBuilder<?>
.asInstanceOf[ManagedChannelBuilder[_ <: ManagedChannelBuilder[_]]]
私も同じ問題に遭遇しました。
リーリー方法 1 と 2 を正しく使用する方法がわかりません。最も簡単な方法も
実は
リーリー返されるのは ManagedChannelBuilder[Any] です。実際、ここでは Any であってはなりません。しかし、
リーリーその後、nameResolverFactory はこの T を Any として返します。
その後、Any の build メソッドを呼び出すことになりますが、明らかにコンパイルを通過できません。
もっと良い方法があるといいですね~
=========================================== === ====
更新
問題を単純化します:
リーリーこれは元の定義です。これを
def retA: A[_ <: A[_]] = ???
に変更すれば問題ありません。
これでうまくいきます
リーリー同様に、
だけですManagedChannelBuilder<?>
に戻るときは、.asInstanceOf[ManagedChannelBuilder[_ <: ManagedChannelBuilder[_]]]