泛型就是限制我们得数据类型。
2.泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量创建对象时)确定(即传入实 际的类型参数,也称为类型实参)
3.为什么使用泛型?4. 如何使用泛型我们原来在定义集合时,是如下得定义方式:
List list=new ArrayList();//该集合没有使用泛型
list.add("java01");
list.add("java02");String str= (String) list.get(0);//获取元素 需要进行强制类型转换
System.out.println(str);
获取元素时,不方便对元素进行相应得其他操作。
List<类型> list=new ArrayList<类型>(); 只能在该集合中存储指定得类型。
public class Test {
public static void main(String[] args) {
//这里就限制了集合中每个元素得类型
List list=new ArrayList<>();
list.add("java1");
list.add("hai"); //因为集合中只能添加String类型
list.add("world"); //因为集合中只能添加String类型
//在获取元素时 默认就是相应得数据类型 而无需在进行转换
String s = list.get(0);
//:K:表示键得泛型 V:表示值得泛型
HashMap map=new HashMap<>();
map.put("name",21);
map.put("age",25);
Set keys = map.keySet();
}
}
5. 自定义泛型类
public class 类名<标识,标识....> {
标识 变量名;
public 标识 方法名(){
}
public void 方法名(标识 参数名){
}
.........
}
5.1.0 定义坐标类:
public class Test03 {
public static void main(String[] args) {
//不使用自定义泛型,则默认为object类型
Point point = new Point();
point.setX("x轴");
point.setY(14);
point.show();
//使用自定义泛型定义坐标类,
// 泛型使用的都是对象类型,不能使用基本数据类型
Point point1 = new Point<>();
point1.setX(105);
point1.setY(120);
point1.show();
}
}
//自定义泛型对象,可以有构造方法
public class Point {
private K X;
private K Y;
public K getX() {
return X;
}
public void setX(K x) {
X = x;
}
public K getY() {
return Y;
}
public void setY(K y) {
Y = y;
}
public void show(){
System.out.println("x坐标为:"+this.X+"y坐标为:"+this.Y);
}
}



