1

可能重复:
获取 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
    }
}
4

2 回答 2

1

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

private List<String> names;

变成

private List names;

类型擦除后。

于 2013-01-13T17:47:01.267 回答
1

正如我在评论中所说,这是借助反射https://stackoverflow.com/a/1942680/1317692可以实现的最接近的事情。归功于 BalusC。

于 2013-01-13T18:15:16.317 回答