JDK9新API:List.of();Map.of();Set.of();

柴月和岐月發表於2017-09-28

 

用於簡單的建立不可變的少量元素的集合,如:

 

public class HelloJDK9 {
    public static void main(String[] args) {
        Set<String> str1=Set.of("a","b","c");
        //str1.add("c");這裡編譯的時候不會錯,但是執行的時候會報錯,因為是不可變的集合
        System.out.println(str1);
        Map<String,Integer> str2=Map.of("a",1,"b",2);
        System.out.println(str2);
        List<String> str3=List.of("a","b");
        System.out.println(str3);
    }
}

輸出結果如下:

 

[a, c, b]
{b=2, a=1}
[a, b]

同時讓我們看看of()的其他引數:

來源於:Interface Set

需要注意的幾點:

of()方法只是Map,List,Set這三個藉口的靜態方法,其父類介面和子類實現並沒有這類方法,比如HashSet,ArrayList等待;

返回的集合是不可變的;

相關文章