/* * 泛型: * 泛型是JDK1.5使用的新特性,低于1.5的版本无法使用; * 声明集合中只能存放的数据类型,定义: * CollectionType>dataType> var = ; *
* 优点: :
1. 将运行时的问题放在编译时就抛出; *
2. 避免了无谓的强制类型装换; *
* 注意:集合中没有多态的概念(左右两边的数据类型不一致),左右连边的类型要一致或者只写一边的泛型: * 尽量两边都写泛型;
* 泛型在集合中的常见应用:
* ArrayListlist = new ArrayList(); 官方推荐
兼顾对象的新老版本兼容性
* ArrayList list = new ArrayList();
* ArrayListlist = new ArrayList();
* 自定义泛型:一个数据类型的占位符或是一个数据类型的变量,仅仅是占位符,只要符合标识符命名规则就可以。
* 1. 方法上使用自定义泛型
* 修饰符 <自定义泛型>返回值类型 函数名(<自定义泛型>){
*
* }
*
* 注意:
* 1. 在方法上自定义泛型,该泛型的类型实在调用该方法时传入的实参决定的。
* 2. 在泛型中不能使用基本数据类型,要使用基本数据类型的话就要使用其对应的包装类型。
* 3. 自定义泛型的名称符合标识符命名规则就可以了,一般经常使用T Type或是Element E
*
*/
public class Demo8 {
/*
* 定义一个函数可以接收任意类型的数据,返回值类型必须和实参的类型一致.
*/
public static void main(String[] args){String data = "Hello world";System.out.println(getData(data));}public staticT getData(T o){
return o;
}
}