Java泛型没有数组

打印 上一主题 下一主题

主题 829|帖子 829|积分 2487

转自:
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>();
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表