私は自分のドメインモデルの次のエンティティを持っている:Javaのジェネリック上位有界ワイルドカードエラー
class Point {
public String details;
public Point() {
details = "empty";
}
public Point(String details) {
this.details = details;
}
}
class BasicPoint<X, Y> extends Point {
public X x;
public Y y;
public BasicPoint() {}
public BasicPoint(X x, Y y) {
this.x = x;
this.y = y;
}
}
class Collector<T> {
T elem;
public void collect(T elem) {
this.elem = elem;
}
}
私はデータの操作を適用し、上記の宣言のように、ポイントやBasicPointように、そのデータを返すようにしたいが、コンパイラがありますOUTポイントを拡張するが、次のエラーで文句を言うことは:
Collector<BasicPoint<Integer, Integer>> c = new Collector<>();
c = new Operator<BasicPoint<Integer, Integer>>().operate(c);
System.out.println(c.elem.getClass() == new BasicPoint<Integer, Integer>().getClass());
IDEを開いて出力を生成します。 – user1933888
問題は、コードがコンパイルされず、質問に定義されているオペレータクラスにエラーが表示されることです。 – zequihg50
次にコンパイラエラーは何ですか? –