美文网首页
Java泛型转换

Java泛型转换

作者: Bejamin | 来源:发表于2017-05-22 11:38 被阅读27次

Java泛型转换的事实

  • 虚拟机中没有泛型,只要普通的类和方法
  • 所有类型参数都用他们的限定类型替换。无限定类型的用Object替换
  • 桥方法被合成用来保持多态
  • 为保持类型安全性,必须要时插入强制类型转换

桥方法:将参数强制类型转换后调用另一个重名方法

public void setSecond(Object sec){
      setSecond((Data)sec);
}

泛型的约束和局限性

  1. 不能用基本类型实例化类型参数
  2. 运行时类型查询只适用于原始类型(Pair<T>的原始类型为Pair),无论何时使用instanceof或涉及泛型类型的强制类型转换都会看到一个编译器警告
  3. 不能创建参数化类型的数组
  4. 不能使用new T()、T.class、不能实例化类型变量(可以通过反射)
  5. 不能再静态上下文中使用类型变量
  6. 不能抛出、捕获泛型类实例
  7. 永远可以将参数化类型转换为一个原始类型,即Pair<T> 是Pair的一个子类型

相关文章

  • java 泛型

    很多朋友对Java的泛型不是很理解,很多文章写的已不是很清楚,这篇博客对java泛型进行 一个总结。 泛型的转换:...

  • Java 中的泛型

    泛型的目的:Java 泛型就是把一种语法糖,通过泛型使得在编译阶段完成一些类型转换的工作,避免在运行时强制类型转换...

  • Java泛型教程

    Java泛型教程导航 Java 泛型概述 Java泛型环境设置 Java泛型通用类 Java泛型类型参数命名约定 ...

  • Java泛型转换

    Java泛型转换的事实 虚拟机中没有泛型,只要普通的类和方法 所有类型参数都用他们的限定类型替换。无限定类型的用O...

  • Java中的泛型

    Java中的泛型存在一些编译器特性, 是在编译期间就将泛型代码转换成具体的类型. 泛型的概念 泛型,即“参数化类型...

  • Java泛型

    java泛型解决容器,不确定类型问题,多个返回值,避免类型转换。 类泛型 类泛型定义的时候需要在类型后增加尖括号,...

  • 泛型

    从Java5开始,泛型成为了Java语言的一部分。在没有泛型之前,从集合中读取的每一个对象都必须进行转换。 泛型的...

  • Java泛型(1)--使用泛型

    泛型:解决Java集合无法记住元素数据类型,取出元素需要强制转换的缺点 使用泛型: Java7之后可以省略构造器后...

  • 第二十八课:泛型

    泛型出现之前 泛型出现之后 Java深度历险(五)——Java泛型

  • Kotlin 泛型

    说起 kotlin 的泛型,就离不开 java 的泛型,首先来看下 java 的泛型,当然比较熟悉 java 泛型...

网友评论

      本文标题:Java泛型转换

      本文链接:https://www.haomeiwen.com/subject/gaybxxtx.html