1.泛型的定义与使用
泛型,用来灵活的数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。
定义和使用含有泛型的类
定义一个含有泛型的类,模拟ArrayList集合
泛型是一个未知的数据类型,当我们不确定是什么数据类型的时候,可以使用泛型。
泛型可以接收任意的数据类型,可以使用Integer,String,Student...
创建对象的时候确定泛型的数据类型。
//没有使用泛型
public class GenericClass {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class DemoGenericClass {
public static void main(String[] args) {
//不写泛型默认为Object类型
GenericClass gc = new GenericClass();
gc.setName("只可以是字符串");
Object obj = gc.getName();
System.out.println(obj);
GenericClass gc1 = new GenericClass();
gc1.setName("字符串好吗");
String name = gc1.getName();
System.out.println(name);
}
}
使用泛型时:
public class GenericClass01<E> {
private E name;
public E getName() {
return name;
}
public void setName(E name) {
this.name = name;
}
}
public class Demo01GenericClass {
public static void main(String[] args) {
GenericClass01 gc1 = new GenericClass01();
gc1.setName("请随意");
Object obj1 = gc1.getName();
System.out.println(obj1);
//创建GenericClass01对象 泛型使用Integer类型
GenericClass01<Integer> gc2 = new GenericClass01<>();
gc2.setName(2);
Integer name = gc2.getName();
System.out.println(name);
//创建GenericClass01对象 泛型使用String类型
GenericClass01<String> gc3 = new GenericClass01<>();
gc3.setName("6325dugsasjh是你吗");
String name1 = gc3.getName();
System.out.println(name1);
}
}