- 泛型
- 泛型方法
- 泛型定义接口
- 类型通配符
时JDK引入的特性,它提供了编译时类型安全检测机制,本质时参数化类型 操作的数据被指定为一个参数
- <类型>: 指定一种类型的格式, 这里的类型可以看成是形参
- <类型1,类型2…> 可以指定多种类型格式
- 参数类型只能是引用数据类型
public class Generic{ private T t; public T getT() { return t; } public void setT(T t) { this.t = t; } public void show(T t){ System.out.println(t); } }
public class GenericDemo2 {
public static void main(String[] args){
Generic sg = new Generic<>();
sg.setT("张三");
Generic ig1 = new Generic<>();
ig1.setT(13);
System.out.println("学生的姓名是:"+sg.getT()+" || 年龄是: "+ig1.getT());
}
}
泛型方法
public class GenericMethod{
public void show(T t){
System.out.println(t);
}
}
public class GenericDemo3 {
public static void main(String[] args){
GenericMethod gm = new GenericMethod();
gm.show("张三");
gm.show(13);
gm.show("六年级三班");
}
}
泛型定义接口
public interface GenericInterface{ public void show(T t); }
public class GenericInterfaceImpl类型通配符{ public void show(T t){ System.out.println(t); } }
为了表示各种泛型List的父类, 可以使用类型通配符
上限
下限
public class GenericDemo5 {
public static void main(String[] args){
ArrayList list1 = new ArrayList<>();
ArrayList list2 = new ArrayList<>();
printList(list1);
printList(list2);
}
private static void printList(ArrayList> list) {
System.out.println(list);
}
}
public class GenericDemo6 {
public static void main(String[] args) {
ArrayList list1 = new ArrayList<>();
ArrayList 


