ParameterizedType的作用

CSDN日报0711——《离开校园,入职阿里,开启新的程序人生》     征文 | 你会为 AI 转型么?     专家问答 | 资深Java工程师带你解读MyBatis

ParameterizedType的作用

标签: Gradle
16259人阅读 评论(0) 收藏 举报
分类:
我的学习历程(44)
作者同类文章 X


public interface ParameterizedType  extends Type


subParam.Java

[java] view plain copy
print ?
  1. package com.example.test;  
  2.   
  3. public class subParam extends param {  
  4.     public static void main(String[] args) throws Exception{  
  5.         subParam  s = new subParam();  
  6.     }  
  7. }  
package com.example.test;

public class subParam extends param {
	public static void main(String[] args) throws Exception{
		subParam  s = new subParam();
	}
}

param.java

[java] view plain copy
print ?
  1. package com.example.test;  
  2.   
  3. import java.lang.reflect.ParameterizedType;  
  4. import java.lang.reflect.Type;  
  5.   
  6. public class param {  
  7.     class A {}  
  8.     class B extends A {}  
  9.       
  10.     private Class entityClass;  
  11.     protected param (){  
  12.         Type type = getClass().getGenericSuperclass();  
  13.         System.out.println("getClass()==" + getClass());  
  14.         System.out.println("type = " + type);  
  15.         Type trueType = ((ParameterizedType)type).getActualTypeArguments()[0];  
  16.         System.out.println("trueType1 = " + trueType);  
  17.         trueType = ((ParameterizedType)type).getActualTypeArguments()[1];  
  18.         System.out.println("trueType2 = " + trueType);  
  19.         this.entityClass = (Class)trueType;  
  20.           
  21.           
  22.         B t = new B();  
  23.         type = t.getClass().getGenericSuperclass();  
  24.       
  25.         System.out.println("B is A's super class :" + ((ParameterizedType)type).getActualTypeArguments().length);  
  26.     }  
  27.       
  28. }  
package com.example.test;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class param {
	class A {}
	class B extends A {}
	
	private Class entityClass;
	protected param (){
		Type type = getClass().getGenericSuperclass();
		System.out.println("getClass()==" + getClass());
		System.out.println("type = " + type);
		Type trueType = ((ParameterizedType)type).getActualTypeArguments()[0];
		System.out.println("trueType1 = " + trueType);
		trueType = ((ParameterizedType)type).getActualTypeArguments()[1];
		System.out.println("trueType2 = " + trueType);
		this.entityClass = (Class)trueType;
		
		
		B t = new B();
		type = t.getClass().getGenericSuperclass();
	
		System.out.println("B is A's super class :" + ((ParameterizedType)type).getActualTypeArguments().length);
	}
	
}



===================== output =======================

getClass()==class com.example.test.subParam


type = com.example.test.param


trueType1 = class com.example.test.myclass


trueType2 = class com.example.test.myinvoke


B is A's super class :0



总结

((ParameterizedType)type).getActualTypeArguments()

是用来的到类的模板参数的类型的? 入T1, T2  etc...


返回表示此类型实际类型参数的 Type 对象的数组。

7
4
 
 

  相关文章推荐
  • ParameterizedType的用法
  • Java5泛型的用法,T.class的获取和为擦拭法站台
  • ParameterizedType和isAssignableFrom
  • struts2.3.1.1+hibernate3.6.9Final+spring3.1.0+proxool+maven+annotation
  • java 基础 日积月累
  • JAVA反射总结(不错)
  • java 通过反射获取泛型的类型
  • 加强2注解。泛型。类加载器及其委托机制。代理的概念与作用原理,AOP概念。实现AOP功能的封装与配置。类似Spring。
  • JAVA Type体系与泛型的获取
  • JAVA反射总结
猜你在找
机器学习之概率与统计推断
机器学习之数学基础
机器学习之凸优化
机器学习之矩阵
响应式布局全新探索
探究Linux的总线、设备、驱动模型
深度学习基础与TensorFlow实践
深度学习之神经网络原理与实战技巧
前端开发在线峰会
TensorFlow实战进阶:手把手教你做图像识别应用
查看评论

  暂无评论

发表评论
  • 用 户 名:
  • NewstarCSDN
  • 评论内容:
  • HTML/XML objective-c Delphi Ruby PHP C# C++ JavaScript Visual Basic Python Java CSS SQL 其它
  •   
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

你可能感兴趣的:(摘录-again)