1.什么是泛型
泛型就是限制我们得数据类型。
2.为什么使用泛型
我们原来在定义集合时,是如下得定义方式:
//该集合没有使用泛型
List list=new ArrayList();
list.add("java01");
list.add("java02");
//获取元素 需要进行强制类型转换
String str= (String) list.get(0);
System.out.println(str);
获取元素时,不方便对元素进行相应得其他操作。
3.如何使用泛型
List<类型> list=new ArrayList<类型>(); 只能在该集合中存储指定得类型。
//List<类型> list=new ArrayList<类型>();
List<Integer> list = new ArrayList<>();
//只能添加相应的数据类型
list.add(1);
list.add(2);
int a = list.get(1);
System.out.println(a);
//<k,v>,k表示键的泛型,v表示值的泛型
HashMap<String,Boolean> map = new HashMap<>();
map.put("男",true);
map.put("结婚否",false);
4.如何自定义泛型
public class Test1 {
public static void main(String[] args) {
Poin<String, Integer> p = new Poin<>();
p.setX("张三");
p.setY(17);
p.show();
}
}
class Poin<T,Z>{
private T x;
private Z y;
public void show(){
System.out.println(x+" "+y);
}
@Override
public String toString() {
return "Poin{" +
"x=" + x +
", y=" + y +
'}';
}
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public Z getY() {
return y;
}
public void setY(Z y) {
this.y = y;
}
}