如果我有一个使用泛型类型的类
public class Record<T> {
private T value;
public Record(T value) {
this.value = value;
}
}
如果我知道使用的所有类型,那么在设计时输入所有类型是非常简单的,例如本例中的情况:
// I type explicitly
String myStr = "A";
Integer myInt = 1;
ArrayList myList = new ArrayList();
Record rec1 = new Record<String>(myStr);
Record rec2 = new Record<Integer>(myInt);
Record rec3 = new Record<ArrayList>(myList);
如果我从我不知道类型的“某个地方”得到一个对象列表,会发生什么?如何分配类型:
// now let's assume that my values come from a list where I only know during runtime what type they have
ArrayList<Object> myObjectList = new ArrayList<Object>();
myObjectList.add(myStr);
myObjectList.add(myInt);
myObjectList.add(myList);
Object object = myObjectList.get(0);
// this fails - how do I do that?
new Record<object.getClass()>(object);
https://stackoverflow.com/questions/7342035
复制相似问题