一,泛型
泛型,即“参数化类型”,也就是说操作的数据类型被指定为一个参数
就类似于函数的形参定义了之后,在函数里给它赋值的数据类型不一致就不能通过编译
泛型就是为了把数据类型问题发现在运行之前(无法通过编译)
这种参数类型可以用在类、方法、接口中分别被称为泛型类、泛型方法、泛型接口
泛型可以指定多种类型:<泛型1,泛型2......>
二,泛型类
类似于把泛型传进该类中,从而使里面的参数只能赋值为该类型
定义格式
public class 类名
小小的尝试一下泛型类
泛型类StringAndInt
//T类似于形参,接收传过来的泛型(参数化类型,相当于传过来一个参数) public class StringAndInt{ // 为了方便设成public,如果正常用public可以不写getset方法 public T t; public T getT() { return t; } public void setT(T t) { this.t = t; } }
测试类
public class test {
public static void main(String[] args) {
// 给StringAndInt类传了个参数,限定一以后sai只能set类型String的
// 如果不向StringAndInt类传参就不知道限定什么类型的,也就是set什么类型的都可以,失去了正常作用
StringAndInt sai1=new StringAndInt();
// sai1.setT(123);
// System.out.println(sai.getT());
sai1.setT("加上泛型");
System.out.println(sai1.getT());
System.out.println("-------------");
StringAndInt sai2=new StringAndInt();
sai2.setT("不加泛型");
System.out.println(sai2.getT());
sai2.setT(123);
System.out.println("不加泛型:"+sai2.getT());
}
}
结果
注意泛型类也是个类,跟之前类的用法差不多
今天任务有点多,划划水



