Java中有没有办法反射(reflect)局部变量的泛型类型?我知道你可以用一个字段来做到这一点 - Get generic type of java.util.List 。知道如何解决,例如:
public void foo(List<String> s){
//reflect s somehow to get String
}
或者更一般:
public void foo<T>(List<T> s){
//reflect s somehow to get T
}
最佳答案
不。由于Java的Type Erasure ,所有泛型都会在编译过程中被剥离。
但是,您可以对列表中的元素使用 instanceOf
或 getClass
来查看它们是否与特定类型匹配。
关于java - 运行时局部变量的泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798951/