1.在定义集合时,可以指定这个集合内只能装什么类型元素,这种方式就是“泛型”
ArrayList<String> strList = new ArrayList<String>();
或:
ArrayList<String> strList = new ArrayList<>();
或:
ArrayList<String> strList = new ArrayList();
2.泛型类:class MyArrayList<T>{}
1.T:可以是任何字母;大小写都可以;
2.也可以定义多个泛型,中间用逗号隔开;<T,V>
3.泛型方法:
class MyArrayList{
//接收的是什么类型,返回的就是具有这个类型
public <T> T show(T t){
return t;
}
}
4.泛型接口:
interface IA<T>{
T show(T t);
}
子类实现时:
1.可以继续定义泛型:
class A <T> implements IA<T>{
public T show(T t){
}
}
2.可以固定为某个具体类型
class A implements IA<String>{
public String show(String s){
}
}
3.可以将泛型丢弃
class A implements IA{
public Object show(Object o){
}
}
5.泛型的通配符:见Demo
1:<?>:
2:<? extends E>:
3:<? super E>:
|
|