这篇文章主要介绍了Java泛型擦除的问题怎么解决,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
java基本数据类型有哪些
Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。
1、问题描述
泛型类型不能显式地运用在运行时类型的操作当中,例如:转型、instanceof 和 new。因为在运行时,所有参数的类型信息都丢失了。
2、解决方法
class GenericType<T>{ Class<?> classType; public GenericType(Class<?> type) { classType=type; } public boolean isInstance(Object object) { return classType.isInstance(object); }}
在main方法我们可以这样调用:
GenericType<A> genericType=new GenericType<>(A.class);System.out.println("------------");System.out.println(genericType.isInstance(new A()));System.out.println(genericType.isInstance(new B()));
我们通过记录类型参数的Class对象,然后通过这个Class对象进行类型判断。
感谢你能够认真阅读完这篇文章,希望小编分享的“Java泛型擦除的问题怎么解决”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!