我有;
List<String> stringList = new ArrayList<String>();
List<Integer> integerList = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
是否有(简单)方法来检索列表的泛型类型?
我想知道如何询问 java 对象是 List 还是 ArrayList。
例如:
if (Object instanceof List <?>)) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
PS:我有几个不同类型的列表,无论它们包含什么类型的数据,我都想为任何列表实现该方法。
如果我有一个泛型类,编译器是否为我使用它的每个类型创建了一个不同的类?让我们考虑一下Class<T>.如果我创建类型的两个实例Class<Integer>和Class<String>,该编译器创建两个不同的类别?
如果答案是否定的:扩展泛型类的类如何可以继承具有不同类型(来自单个类)的相同方法或属性.
另一个问题:为什么我不能var instanceof Class<Integer>使用参数化类型而不是Class或Class<?>?
如果我尝试这样做,我会收到以下错误:"无法对参数化类型执行instanceof检查Test<Integer>.请改用表单,Test<?>因为在运行时将删除更多泛型类型信息"
你能给我更多关于仿制药的信息吗?