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