java - 如何从Java中的Vector<T>获取T类[重复]
Posted
技术标签:
【中文标题】java - 如何从Java中的Vector<T>获取T类[重复]【英文标题】:How to get class of T from Vector<T> in java [duplicate] 【发布时间】:2013-05-13 18:33:12 【问题描述】:我写了这段代码:
public static <T> void getList(Vector<T> result)
System.out.println(result.getClass().getName());
我想写T
的类名,但是看不到。我该怎么做?
【问题讨论】:
【参考方案1】:据我所知,你不能。 Java 泛型使用类型擦除,因此在运行时Vector<T>
的行为就像没有任何模板参数的Vector
。
您可以做的是查询向量元素的类型。
以下是类型擦除的简短描述: http://docs.oracle.com/javase/tutorial/java/generics/erasure.html
另请参阅此问题的答案: Java generics - type erasure - when and what happens
换句话说:
void someMethod(Vector<T> values)
T value = values.get(0);
相当于:
void someMethod(Vector values)
T value = (T) values.get(0);
在运行时,但通过一些编译时检查您要转换为的类型。
【讨论】:
好的,我明白了 :) 非常感谢以上是关于java - 如何从Java中的Vector<T>获取T类[重复]的主要内容,如果未能解决你的问题,请参考以下文章