java - scala builder pattern 泛型函数调用
黄舟
黄舟 2017-04-18 10:10:09
0
1
492
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(1)
阿神

私も同じ問題に遭遇しました。
方法 1 と 2 を正しく使用する方法がわかりません。最も簡単な方法も

リーリー

実は

リーリー

返されるのは ManagedChannelBuilder[Any] です。実際、ここでは Any であってはなりません。しかし、

リーリー

その後、nameResolverFactory はこの T を Any として返します。
その後、Any の build メソッドを呼び出すことになりますが、明らかにコンパイルを通過できません。

もっと良い方法があるといいですね~

=========================================== === ====
更新

問題を単純化します:

リーリー

これは元の定義です。これを
def retA: A[_ <: A[_]] = ???
に変更すれば問題ありません。

これでうまくいきます

リーリー

同様に、ManagedChannelBuilder<?>に戻るときは、
.asInstanceOf[ManagedChannelBuilder[_ <: ManagedChannelBuilder[_]]]

だけです
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!