Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取具有反射的哈希集元素?_Java_Reflection_Hashset - Fatal编程技术网

Java 如何获取具有反射的哈希集元素?

Java 如何获取具有反射的哈希集元素?,java,reflection,hashset,Java,Reflection,Hashset,我正在尝试获取数组元素的类型。我得到了这样的东西: Set<Foo> mySet = new HashSet<Foo>(); Array.get() 谢谢 您的问题很不清楚,但在本代码中 new HashSet<Foo>(); newhashset(); 您没有机会通过反射获得Foo部分。时期相关搜索词为“类型擦除”。获取Foo的方法为: ParameterizedType listType = (ParameterizedType) field.get

我正在尝试获取数组元素的类型。我得到了这样的东西:

Set<Foo> mySet = new HashSet<Foo>();
Array.get()


谢谢

您的问题很不清楚,但在本代码中

new HashSet<Foo>();
newhashset();

您没有机会通过反射获得
Foo
部分。时期相关搜索词为“类型擦除”。

获取Foo的方法为:

ParameterizedType listType = (ParameterizedType) field.getGenericType();
Class<?> stringListClass = (Class<?>) listType.getActualTypeArguments()[0];
ParameteredType listType=(ParameteredType)字段。getGenericType();
类stringListClass=(类)listType.getActualTypeArguments()[0];

但是您必须确保
字段
是一个数组/集合/哈希集,否则将是一个例外。

忽略行
isComplex=isComplex(field,arrayElement)
只是一个布尔值。
ParameterizedType listType = (ParameterizedType) field.getGenericType();
Class<?> stringListClass = (Class<?>) listType.getActualTypeArguments()[0];