1、什么是泛型

泛型是Java SE 1.5的新特性,泛型即参数化类型,也就是说所操作的数据类型被指定为一个参数。 
这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 
如何使用泛型方法、泛型类/接口看这里:泛型如何使用 
在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。 
对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。 
所以,Java语言引入泛型的好处是安全简单,在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。

2、泛型有那些特点

  1. 泛型的类型参数只能是类类型(包括自定义类),不能是基础类型(如int,double和char)。
  2. 同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
  3. 类的泛型类型可以有多个。
  4. 泛型之间没有继承关系,即使String继承了Object。下面的代码是非法的 
    List ls = new ArrayList(); 
    List lo = ls;
  5. 泛型的类型参数可以使用extends语句,例如。习惯上称为有界类型。
  6. 泛型的类型参数还可以是通配符类型。例如Class
原文地址:http://blog.csdn.net/ooppookid/article/details/51233605

Java千百问_05面向对象(012)_泛型是什么相关推荐

  1. Java千百问_05面向对象(004)_java接口到底是什么

    1.什么是接口 接口(interface)不是一个类,它是抽象方法的集合.一个类实现一个接口,从而继承和实现接口的抽象方法.  抽象方法看这里:java中抽象概念如何体现的 接口的特点如下,先看与类类 ...

  2. Java千百问局部变量、类变量、实例变量有什么区别

    Java千百问局部变量.类变量.实例变量有什么区别 局部变量.类变量.实例变量有什么区别 在聊局部变量.类变量.实例变量有什么区别之前,我们需要了解一下Java变量. 1.Java变量是什么 在数学世 ...

  3. Java千百问_03基本的语法(005)_二进制是如何做位运算的

    点击进入_很多其它_Java千百问 二进制是如何做位运算的 程序中的全部数在计算机内存中都是以二进制的形式储存的.位运算说白了,就是直接对整数在内存中的二进制位进行操作. 其它运算符看这里:java种 ...

  4. Java千百问_07JVM架构(009)_什么是新生代的复制算法

    点击进入_更多_Java千百问 1.什么是新生代的复制算法 了解堆内存看这里:java堆内存是什么样的 了解java垃圾回收看这里:java垃圾回收机制是什么 所谓复制算法(Copying),即将内存 ...

  5. Java千百问_01基本概念(007)_线程的状态有哪些

    点击进入_更多_Java千百问 1.线程的状态有哪些 在java中java.lang.Thread类有一个变量threadStatus,标示了该线程的当前状态,它是一个int类型,但是对应的get方法 ...

  6. Java千百问_01基本概念(012)_Socket是什么

    [点击进入_更多_Java千百问][1] [1]: http://blog.csdn.net/ooppookid/article/category/6134850 ###1.什么是Socket Soc ...

  7. Java千百问_07JVM架构(015)_XmnXmsXmxXss有什么区别

    点击进入_更多_Java千百问 1.XmnXmsXmxXss有什么区别 首先,Xmn.Xms.Xmx.Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果. ...

  8. Java千百问_03基本语法(002)_java都有哪些关键字

    java都有哪些关键字 首先我们来看看什么是关键字,关键字的含义. 1.java关键字是什么意思 关键字是电脑语言里事先定义的,有特别意义的特殊标识符,又叫保留字. Java的关键字对Java的编译器 ...

  9. Java千百问_04异常处理(007)_常见的java异常有哪些(非运行时)

    1.常见的java运行时异常有哪些 了解非运行时异常看这里:什么是java中的异常  常见的运行时异常看这里:常见的运行时异常有哪些 我们所说的常见异常是jdk或者其他常用第三方jar中的异常,出现频 ...

最新文章

  1. json qbytearray 串 转_如何通过QByteArray在JSON中存储QPixmap?
  2. 通过小故事,了解多一点何谓 Node 高性能
  3. BZOJ1001[BeiJing2006]狼抓兔子最小割網絡流
  4. Oracle 数据库版本和位数sql语句查看方法
  5. [转载]非常量引用的初始值必须为左值的问题
  6. vivado2017.4安装教程
  7. SNMP学习之结构体snmp_secmod_def
  8. 第三次作业——朱华泓
  9. github 参与开源_开源桥吸引了独特的演讲者和参与者
  10. 为什么要文件名和类名一样php_php文件名和类名相同时include不起作用?
  11. [Hive]Hive合并小文件
  12. 单机数据库优化的一些实践
  13. linux下创造进程指令,Linux系统创建一个新进程(下)
  14. 关于.NET、ASP.NET和ASP
  15. 怎么在桌面添加windows便签记事本
  16. NAT穿透原理(转载)
  17. 旅行商问题的离散布谷鸟搜索算法
  18. 反向传播思想及其优缺点
  19. linux xterm字体,修改XTerm相关属性(让字体更好看)
  20. C++机器学习库整理

热门文章

  1. Node_初步了解(4)小爬虫
  2. 解决 PowerDesigner 错误 The generation has been cancelled…
  3. 外挂安装eclipse插件
  4. 我的log4j与logback简易配置
  5. hdu2094产生冠军
  6. C#多线程使用进度条
  7. [转]半角全角互转函数[JS版 VBS版]
  8. C#中Marshal 类的内存操作的一般功能概述
  9. java第十二章总结
  10. pusher 创建新应用_使用 Laravel-echo-server 构建实时应用