Java泛型擦除问题如何解决
作者:BrightSoul
时间:2023-04-27
浏览:2
1、问题描述泛型类型不能显式地运用在运行时类型的操作当中,例如:转型、instanceof和new。因为在运行时,所有参数的类型信息都丢失了。2、解决方法/***泛型类型判断封装类*@param*/classGenericType{ClassclassType;publicGenericType(Classtype){classType=type;}publicbooleanisInstance(Objectobject){returnclassType.isInstance(object);}}在mai
本文目录
1、问题描述
泛型类型不能显式地运用在运行时类型的操作当中,例如:转型、instance of 和 new。因为在运行时,所有参数的类型信息都丢失了。
2、解决方法
/** * 泛型类型判断封装类 * @param*/ class GenericType { Class> classType; public GenericType(Class> type) { classType=type; } public boolean isInstance(Object object) { return classType.isInstance(object); } }
在main方法我们可以这样调用:
GenericType genericType=new GenericType<>(A.class); System.out.println("------------"); System.out.println(genericType.isInstance(new A())); System.out.println(genericType.isInstance(new B()));
我们通过记录类型参数的Class对象,然后通过这个Class对象进行类型判断。
作者最新文章
漫蛙漫画免费下拉式在线看地址
2026-10-27 17:25
如何在WPSOffice2019一键开启和关闭筛选
2026-10-26 23:11
xmind怎么调整两个框之间的距离 布局技巧
2026-10-24 13:34
ps怎么抠图
2026-10-20 17:22
PDF表格怎么转换成Excel?如何免费将PDF表格转成Excel?
2026-10-15 11:26
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































