百木园-与人分享,
就是让自己快乐。

Java泛型不能使用instanceOf

转自:

  http://www.java265.com/JavaCourse/202205/3591.html

泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift和Visual Basic .NET称之为泛型(generics);ML、Scala和Haskell称之为参数多态(parametric polymorphism);C++和D称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型(parameterized type)


 

下文笔者讲述java泛型不能使用instanceOf方法的简介说明,如下所示

由于编译器使用类型擦除,
所以运行时无法跟踪类型参数,所以不能使用instanceOf运算符

  
InfoClass<Integer> integerInfoClass = new InfoClass<Integer>();

//Compiler Error:
//Cannot perform instanceof check against
//parameterized type InfoClass<Integer>.
//Use the form InfoClass<?> instead since further
//generic type information will be erased at runtime
if(integerInfoClass instanceof InfoClass<Integer>) { }

来源:https://www.cnblogs.com/java265/p/16463999.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Java泛型不能使用instanceOf

相关推荐

  • 暂无文章