ParameterizedType
은 매개변수화된 유형을 의미합니다. ParameterizedType
就是参数化类型的意思。
解释:
声明类型中带有“”的都是参数化类型,比如List<integer></integer>
,Map<string></string>
。
getActualTypeArguments()
返回Type[],即“”里的参数,比如Map<string></string>
。
getRawType()
返回Tpye,得到“”前面的类型,比如List<string></string>
。
getOwnerType()
返回Type,O类型变量调用时会返回OMap.Entry<long></long>
선언된 유형에 ""가 있는 모든 것은 매개변수화된 유형입니다(예: List<integer></integer>
, Map<string></string>
) .
getActualTypeArguments()
는 Map<string></string>
과 같은 ""의 매개변수인 Type[]을 반환합니다. getRawType()
은 Tpye를 반환하고 List<string></string>
과 같이 "" 앞의 유형을 가져옵니다.
getOwnerType()
은 Type을 반환하며, O 유형 변수(예: Map.Entry<long>)에 의해 호출되면 O<t>가 반환됩니다. 코드>. <br></t></long>
java 강좌
import org.junit.Test; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.Map; public class ReflectDemo { private static Map<String, BigDecimal>map; @Test public void test(){ try { Class<?> aClass = Class.forName("com.test.annotation.param.ReflectDemo"); //获取map属性对象 Field field = aClass.getDeclaredField("map"); //获取map属性的类型 Type type = field.getGenericType();//返回属性声明的Type类型 if (type instanceof ParameterizedType) { //强转为ParameterizedType对象 ParameterizedType parameterizedType = (ParameterizedType) type; //获取原始类型 Type rawType = parameterizedType.getRawType(); System.out.println("map的原始类型为:"+rawType); //获取map的类型的所有泛型信息 Type[] actualTypeArguments = parameterizedType.getActualTypeArguments(); for(int i=0;i<actualTypeArguments.length;i++){ System.out.println("Map类型的第"+(i+1)+"个泛型为:"+actualTypeArguments[i]); } } } catch (Exception e) { e.printStackTrace(); } } }
위 내용은 리플렉션을 사용하여 Java에서 일반 정보를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!