Java のジェネリックを理解するために、次のコードを書きました。
myBox
問題は、それが受け入れられるようにどのようにパラメータ化する必要があるFilterType <?> myFilterType
かです。
public class Generics {
/**
* @param args
*/
public static void main(String[] args) {
Generics g = new Generics();
Object myValue = "putThisIntoTheBox";
FilterType<?> myFilterType3 = g.new FilterType<>(null); //works
Box myBox3 = g.create(myFilterType3, myValue); //fails - create won't accept myFilterType3
}
public <T> Box<T> create(FilterType<T> type, T value) {
return new Box<T>(value);
}
//CLASSES
public class FilterType<T>{
T type;
public FilterType(T type) {
this.type = type;
}
}
public class Box<T>{
T value;
public Box(T value) {
this.value = value;
}
}
}