暑假學習記錄25 泛型2
(1)今天學習了泛型的剩下的部分
(2)明天學習Map
(3) 1 型別萬用字元 <?>
List<?> 表示元素型別未知的List,它的元素可以匹配任意型別,這種帶萬用字元的List僅代表他是各種泛型List的父類,並不能把元素新增到其中
型別萬用字元上限 List<? extends 型別>
List<? extends Number> 表示的是Number或其子型別
List<? extends Number> list1=new ArrayList<Integer>();
型別萬用字元下限List<? super 型別>
List<? extends Number> 表示的是Number或其父型別
List<? extends Number> list2=new ArrayList<Object>();
2 可變引數 格式 修飾符 返回值型別 方法名(資料型別...變數名){}
範例 public static int sum(int...a){}
一個方法如果有多個引數,包含可變引數的情況下,可變引數要放到最後
可變引數中的變數是一個數組
多個數據求和 public static int sum(int...a){
int sum=0;
for(int i: a){
sum+=i;
}
return sum;
}
3 可變引數的使用 Arrays工具類中有一個靜態方法
public static <T> List <T>asList(T...a){}
List<String> list=Arrays.aslist("hello","world","java")
返回由指定陣列支援的固定大小的列表,不能做增刪操作,可以修改
List介面中有一個靜態方法
public static <E> List<E> of(E elements){}
返回包含任意數量元素的不可變列表
不能做增刪改操作
Set介面中有一個靜態方法
public static <E> List<E> of(E elements)
返回一個包含任意數量元素的不可變集合
不能給重複元素,不能做增刪操作,沒有修改的方法