试图在List中找到类

时间:2013-01-13 17:43:17

标签: java generics

  

可能重复:
  Get generic type of java.util.List

如何在参数

中查看列表中的类型
private List<String> names;

我怎样才能找到它的字符串列表?我的目标是制作一个这样的方法:

public Field findFieldByObjectType(Class<?> clazz, Object obj) {
    for (Field field : clazz.getDeclaredFields()) {
        // if field type is List<obj>
        // return field
    }
}

2 个答案:

答案 0 :(得分:1)

您可以在列表的元素上使用instanceof运算符或getClass()方法。

private List<String> names;

变为

private List names;
在类型擦除后

答案 1 :(得分:1)

正如我在评论中所说,这是你在反思https://stackoverflow.com/a/1942680/1317692的帮助下最接近的事情。 归功于BalusC。