1. 泛型方法:泛型方法可以放在普通类中,也可以定义在泛型类中。

  2. <T extends 具体类或者接口> T为绑定类型的子类型;T和绑定类型可以是类,也可以是接口。

    可以有多个限定类型,用‘&’分隔。也可以有多个类型变量,用逗号分隔。但是限定中至多只能有一个类,且该类必须放在第一个上。

  3. 虚拟机和泛型:

    1)虚拟机是没有泛型的,定义泛型类型的时候,会自动提供一个相对应的原始类型。擦除类型变量,并替换为第一个限定的类型变量。没有给限定的变量就用Object。

    2)返回类型,和存取泛型域都会强转。

    3)泛型方法的翻译:采用桥方法,参考:http://jiangshuiy.iteye.com/blog/1339105

  4. 约束与局限性:

    1)运行时类型查询(instanceof)只适用于原始类型,不使用于泛型。

    2)不能创建参数化类型的数组,因为数组会记住它的元素类型,不能存储其他类型的元素,但是泛型擦除会打破这个规则。所以不能穿件泛型数组。

    3)不能在静态域或者方法里使用泛型。

    4)不能抛出或者捕获泛型类的实例。catch中不能使用类型变量。

    5)注意擦除后的冲突

  5. 泛型的继承规则

    1)ArrayList<Manager>和ArrayList<Employee>没有任何关系,是相对独立的。

    2)子类限定通配符:<? extends 超类> 类型Pair<Manager>是Pair<? extends Employee>的子类

    3)超类限定通配符:<? super Manager>

    4)无限定通配符: <?>

转载于:https://blog.51cto.com/cnslp/1918973

六、JAVA基础--泛型相关推荐

  1. Java基础 --- 泛型 Generics

    Java基础 --- 泛型 Generics 为什么需要泛型 泛型 Bounds for Type Variable Java虚拟机如何处理泛型 --- 泛型擦除 Restrictions and L ...

  2. java基础-泛型举例详解

    泛型 泛型是JDK5.0增加的新特性,泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数.这种类型参数可以在类.接口.和方法的创建中,分别被称为泛型类.泛型接口.泛型方法. 一.认识泛型 在没 ...

  3. java 基础 泛型

    泛型是什么? 泛型,即"参数化类型".一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参.那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类 ...

  4. Java基础----泛型

    一,泛型机制介绍及为何要使用泛型 泛型机制是在Java SE5.0中增加的,使用泛型机制编写的程序代码要比那些杂乱地使用object变量,然后再进行强制转换的代码具有更好的安全性和可读性.泛型对于集合 ...

  5. Java基础—泛型的使用(详细)

    文章目录 目录 零.概念 一.泛型的优点 1.1优点 1.2为什么要使用泛型 二.泛型使用与不使用的区别 1.泛型的没有使用会造成什么后果呢? 2.添加泛型的使用会发生什么效果呢? [一.二] 知识点 ...

  6. [Java基础]泛型基础

    可变参数的使用: 代码如下: package CanChangePack;import java.util.Arrays; import java.util.List;public class Arg ...

  7. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

  8. java 获取泛型t的class_阿里巴巴都鼎力推荐的java基础之集合其他内容和泛型3

    第三节 泛型 3.1为什么需要泛型 没有采用泛型之前 1.不安全:添加元素是无检查 宽进 2.繁琐:获取元素时需要强制类型转换 严出 采用泛型之后 1.安全 严进 2.简单 宽出 3.2什么是泛型ge ...

  9. Java基础-我所理解的泛型

    Java基础-我所理解的泛型 引用 [java]泛型中,? extends T 与 ? super T 的区别.看法_winrh的博客-CSDN博客_泛型 extends 前言 Java基础系列,我所 ...

最新文章

  1. 面试题:如何理解 Linux 的零拷贝技术?
  2. python什么时候进入中国-python诞生于什么时候
  3. share-Nothing原理
  4. E20170830-mk
  5. Stop Googling!
  6. linux命令备记(一)
  7. resource android:attr/dialogCornerRadius not found
  8. 【大数据课堂000】今天开课了每天更新一集
  9. JavaScript年月日和时间戳互转
  10. 计算机网络那些事~(二)
  11. 第二季-专题18-网卡搭建新通道
  12. Atitit.获取验证码图片通过web
  13. 适配层java接口_Linux Framebuffer适配层释疑
  14. 360顽固木马专杀工具 千万别用
  15. 2024考研《艺术学概论》彭吉象|复习笔记(下篇)(7-12章)
  16. FlashFXP,flashfxp使用方法
  17. 湖南省中职计算机应用教资面试流程?
  18. 响铃:AWE2018只是“草船”,三星已成大屏电视“东风”
  19. Hadoop中Namenode单点故障的解决方案
  20. ftp下载工具绿色版,网络上难找的绿色版ftp下载工具

热门文章

  1. STM32示波器 信号发生器
  2. OAuth 2.0 - Authorization Code授权方式详解
  3. 移动硬盘安装Windows7
  4. 《荒漠甘泉》4月21日
  5. 如何用CSS画一个三角形
  6. oracle创建用户及授权等相关操作
  7. linux多选项菜单脚本,linux shell 编写菜单脚本事例
  8. java 反射的效率_如何提高使用Java反射的效率?
  9. 怎么把东西去掉修图_很多人花几千块学习商业修图,其实跟把钱扔了一样。?...
  10. testng连接MySQL_Selenium+TestNG实战-8-连接数据库方法去验证文章是否发布