1. 程式人生 > 其它 >暑假學習記錄25 泛型2

暑假學習記錄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)

            返回一個包含任意數量元素的不可變集合

            不能給重複元素,不能做增刪操作,沒有修改的方法