一、引入
首先来看这样一个情况:
这就是一个往ArrayList集合中添加字符串类型的数据,然后小写转大写的例子,没什么问题。那如果这样呢?
运行时报错!如何解决这一问题?
对,就是我们接下来要说的泛型
二、概述
1、泛型是jdk1.5使用的新特性。
2、泛型的好处:
1)将运行时的异常提前至了编译时。
2)避免了无谓的强制类型转换。
3、泛型在集合中的常见应用:
ArrayList<String> list = new ArrayList<String>(); //true 推荐使用。
ArrayList<Object> list = new ArrayList<String>(); //false
ArrayList<String> list = new ArrayList<Object>(); //false
//以下两种写法主要是为了兼顾新老系统的兼用性问题。
ArrayList<String> list = new ArrayList(); //true
ArrayList list = new ArrayList<String>(); //true,但是这种形式就需要强制类型转换(原因:编译时看左边)
4、注意: 泛型没有多态的概念,左右两边的数据类型必须要一致,或者只写一边的泛型类型。
推荐使用: 两边都写泛型。