泛型的本质是参数化的类型,也就是所操作的类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
一、优势:使程序安全简单
二、泛型类:是在实例化类的时候指明泛型的具体类型
1、定义: class 类名称 <泛型标识T>{
private 泛型标识 变量名;
}
2、使用:
类名 <具体类型> 对象名=new 类名<>();
3、注意事项:
泛型类数据类型参数只支持引用数据类型,不支持基本类型。
例:
public class SimpleGen{ private T a; public SimpleGen(T a) { super(); this.a = a; } public T getA() { return a; } public void setA(T a) { this.a = a; } public void showType() { System.out.println(a.getClass().getName()); } public static void main(String[] args) { SimpleGen sg=new SimpleGen (new Integer(27)); sg.showType(); Integer i=sg.getA(); System.out.println("value="+i); } }
//输出结果:
java.lang.Integer
value=27
三、泛型方法:是在调用方法时指明泛型的具体类型
1、定义:
访问修饰符
方法体
}
2、注意事项:
(1)在泛型类中定义泛型方法不需要在返回值之前加入标识
(2)在普通类中可以定义泛型方法,在返回值之前加入
例:
public class Box {
public static void main(String[] args) {
Integer[] integerAry=new Integer[] {9,5,2,7};
printArray(integerAry);
String[] stringAry=new String[] {"L","S","H","Q"};
printArray(stringAry);
Double[] doubleAry=new Double[] {1.2,3.6,4.5,2.9,5.8};
printArray(doubleAry);
}
public static void printArray(E[] ary) {
for(E e:ary) {
System.out.print(e+"t");
}
System.out.println();
}
}
//输出结果:
9 5 2 7
L S H Q
1.2 3.6 4.5 2.9 5.8
四、泛型接口:
1、定义:
interface 接口名
常量;
抽象方法;
}
例:
public interface Box2暑期编程PK赛 得CSDN机械键盘等精美礼品!{ public T getT(T t); public String getName(T t); }



