如何实例列表<MyType>?

2022-08-31 10:14:57

我怎样才能让这种事情发挥作用?我可以检查是否,但如果.有没有办法做到这一点?(obj instanceof List<?>)(obj instanceof List<MyType>)


答案 1

这是不可能的,因为在编译时会擦除泛型的数据类型。执行此操作的唯一可能方法是编写某种包装器来保存列表所包含的类型:

public class GenericList <T> extends ArrayList<T>
{
     private Class<T> genericType;

     public GenericList(Class<T> c)
     {
          this.genericType = c;
     }

     public Class<T> getGenericType()
     {
          return genericType;
     }
}

答案 2
if(!myList.isEmpty() && myList.get(0) instanceof MyType){
    // MyType object
}

推荐