class GGG {
private Map<String, Double> field;
public Map<String, Double> getField() {
return field;
}
public void setField(Map<String, Double> field) {
this.field = field;
}
}
public static void main(String[] args) throws Exception {
GGG ggg = new GGG();
Field field = ggg.getClass().getDeclaredField("field");
field.setAccessible(true);
ParameterizedType pType = (ParameterizedType)field.getGenericType();
System.out.println("ggg.field class type =" + pType);
Type[] types = pType.getActualTypeArguments();
for(int i = 0; i < types.length; i ++) {
System.out.println((i + 1) + " =" + types[i]);
}
}
private Map<String, Double> field;
public Map<String, Double> getField() {
return field;
}
public void setField(Map<String, Double> field) {
this.field = field;
}
}
public static void main(String[] args) throws Exception {
GGG ggg = new GGG();
Field field = ggg.getClass().getDeclaredField("field");
field.setAccessible(true);
ParameterizedType pType = (ParameterizedType)field.getGenericType();
System.out.println("ggg.field class type =" + pType);
Type[] types = pType.getActualTypeArguments();
for(int i = 0; i < types.length; i ++) {
System.out.println((i + 1) + " =" + types[i]);
}
}
输出结果:
ggg.field class type =java.util.Map<java.lang.String, java.lang.Double>
1 =class java.lang.String
2 =class java.lang.Double
1 =class java.lang.String
2 =class java.lang.Double