ToB企服应用市场:ToB评测及商务社交产业平台

标题: Java泛型没有数组 [打印本页]

作者: 大号在练葵花宝典    时间: 2022-8-28 23:09
标题: Java泛型没有数组
转自:
http://www.java265.com/JavaCourse/202205/3592.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泛型没有数组的简介说明
  1. java泛型无法定义泛型数组
  2. 如:
  3.   //Cannot create a generic array of InfoClass<Integer>
  4.   InfoClass<Integer>[] arrayOfLists = new InfoClass<Integer>[2];
  5.   由于编译器使用类型擦除
  6.    所以类型参数被替换为对象
  7.    用户可以将任何类型的对象添加到数组中
  8.    在运行时,代码将无法抛出ArrayStoreException
复制代码
  1. // compiler error, but if it is allowed
  2. Object[] arrs = new InfoClass<String>[];
  3. // OK
  4. arrs[0] = new InfoClass<String>();  
  5. // An ArrayStoreException should be thrown,
  6. //but the runtime can't detect it.
  7. arrs[1] = new InfoClass<Integer>();
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4