泛型:参数化类型
格式:<类型1>
<类型1, 类型2。。。>
举例:Set<String>
HashMap<String,String>
1. 泛型类(泛型接口:对应的实现类应为泛型类)
修饰符 class 类名<类型>
举例:public class Student<T>
使用的时候指定T的类型
2. 泛型方法
举例:
public<T> void funFX(T t){
System.out.println(t.toString()+":FX");
}
//使用,可以传任意类型的参数
funFX(1.2);
3. 类型通配符:<?>
<? extends 类名> 表示这个类及其子类
<? super 类名> 表示这个类及其父类
4. 可变参数:参数个数可变,
格式:类型... 形参名
注意:
可变参数放在最后
可变参数实际是所有参数封装成了数组
举例:
public void funKB(int a,int... b){
int sum=0;
sum += a;
for(int i:b){
sum += i;
}
System.out.println(sum);
}
//使用
funKB(10,34,23,57,76,20);
其它泛型参数例子:
Arrays.asList(T... a) 得到固定大小(不可增删)的List
List.of(E... e) 得到包含任意元素(E...)的不可变(不可增删改)List
Set.of(E... e) 得到包含任意元素的不可变集合