私はサブクラスを持つジェネリッククラスを持っています。Javaのワイルドカード、ジェネリック、セッター、ゲッター
GenericClass<?> obj1 = ... // has a value here
GenericClass<?> obj2 = ... // has a value here
// I know that obj1 is the same type of obj2 but I don't know this type.
obj1.setValue(obj2.getValue());
最後の行は、コンパイルエラーを生成:
を、私は何のサブクラスを知らなくても、サブクラスを使用しますが、私はこの2つのサブクラスが同じタイプを知っている私のコードで
public class GenericClass<C> { private C value; public C getValue() { return value; } public void setValue(C value) { this.value = value; } }
タイプGenericClassのメソッドsetValue(キャプチャ#11-of?)は、引数には適用されない です(キャプチャ#12)?
これを行うにはどうすればよいですか(ワイルドカードをキャストするようなもの...)?
"これが不可能な場合"可能でない場合でも、上記のメソッドをプライベートヘルパーメソッドにして、どこからでも呼び出すことができます(コードを提供します)それを必要とし、それはキャプチャ変換のために動作します – newacct