問題タブ [unbounded-wildcard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
508 参照

java - Casting bounded wildcard to unbounded wildcard within a generic type is an error (X> to X>

Consider this sample:

In other words, I can assign a Class<? extends T> to a Class<?> for some arbitrary T but not a Set<Class<? extends T>> to a Set<Class<?>>.

It probably has something to do with some limitation on covariance/contravariance, but what?

I could introduce a cast: Class.class::cast would do it. But is there a way to bend the compiler to my will with subtle type-fu rather than bashing it in the head with a cast?

0 投票する
1 に答える
83 参照

java - 試行 #3: Java で 2 つの疑問符を使用して必要な型の式を形成できません

以前の SSCCE 自体が正しくありませんでした。もう1つ書いてみましたが、それも間違っていました。したがって、今のところ問題を理解していないため、純粋なJavaの例を書くことができないため、ライブラリクラスの例を投稿しています:

callback質問は同じです:適切なクラスを準備するにはどうすればよいですか?

不可能な場合は、まず、本当に不可能であると述べてください。次に、なぜ不可能なのかを説明してください。

アップデート

コールバックを指定Objectしても役に立ちません:

0 投票する
4 に答える
8568 参照

java - パラメーター、フィールド、ローカル変数の型、またはメソッドの戻り値の型としてワイルドカード (?) を使用できないのはなぜですか?

ジェネリックのワイルドカードに関する Oracle のドキュメントには、次のように書かれています。

ワイルドカードはさまざまな状況で使用できます。パラメーターフィールド、またはローカル変数の型として。戻り値の型として使用されることもあり ます (ただし、より具体的なプログラミング方法を使用することをお勧めします)。

次のクラスで 4 つすべてを試しましたが、それぞれでコンパイラ エラーが発生しました。なんで?私は何を間違っていますか?

0 投票する
1 に答える
255 参照

java - Javaでの無制限のワイルドカードとジェネリック型の使用の違いは何ですか?

Generic type を使用して問題を解決できる場合、Java が無制限のワイルドカードを提供した理由。例えば

Method 2が私たちの要件を解決できるかどうか、なぜMethod 1が必要なのか、誰でも理解できるようにしてください。つまり、Unbounded ワイルドカードを使用して解決できる問題と、汎用メソッド タイプ (方法 2 など) を使用して解決できない問題はどれですか?