javaSE 笔记 泛型 + 类型通配符 + 可变参数

泛型

泛型就是将类型由原来的具体的类型参数化,然后再使用/调用时传入具体的类型,这种参数类型可以用在类、方法、接口中,即泛型类
泛型方法,泛型接口。
泛型定义格式:1.<类型>指定一种类型的格式,这里的类型可以看成是形参
2.将来具体调用时候给定的类型可以看成是实参,并且是实参的类型只能是,引用数据类型
泛型的好处:1.可以将运行时报错提前到编译时报错 2. 不需要再加强制类型转换。 P250结合例子看

泛型类

范例:public class Generic< T > { }
首先,它很像方法重载,而且只要写一次,就能适应所有数据类型的参数,就很方便。
比如 public class Generic< T> {
public void show(T t){
System.out.println(t);
}
}
主要想法是类中的方法只能接收预先定义的一种参数类型,如果想要参数类型在运行时可以发生改变,那么可以用泛型类来替代。

泛型方法

格式:修饰符 <类型> 返回值类型 方法名(类型 变量名) { }
范例:public void show(T t) { }
想法就是在类的声明中不写泛型,直到方法中才写T,即
public class Generic {
public< T> void show(T t){
System.out.println(t);
}
}
注意这边的< T >本来是在泛型类的类名后面的,现在是在方法的返回值类型前面。

泛型接口

格式:修饰符 interface 接口名<类型> {}
接口的使用仍然是需要以多态的形式,例子
public class GenericTmpl< T> implements Generic< T> {
@Override
public void show(T t){
System.out.println(t);
}
}

类型通配符

类型通配符 List:表示元素类型未知的List,它的元素可以匹配c任何的类型
List<?> list1 = new ArrayList

posted @ 2021-08-24 20:46  Lanezzz  阅读(38)  评论(0)    收藏  举报