天天看點

Java學習泛型之可變參數的使用

可變參數的使用

Arrays工具類中有一個靜态方法:

public static <T> List<T>asList<T...a>:傳回由指定數組支援的固定大小的清單

傳回的集合不能做增删操作,可以做修改操作

List接口中有一個靜态方法:

public static <E> List<E>of(E... elements):傳回包含任意數量元素的不可變清單

傳回的集合不能做增删改操作

Set接口中有一個靜态方法:

package com.itheima_99;
/*
 Arrays工具類中有一個靜态方法:
  public static <T> List<T>asList<T...a>:傳回由指定數組支援的固定大小的清單
List接口中有一個靜态方法:
  public static <E> List<E>of(E... elements):傳回包含任意數量元素的不可變清單
Set接口中有一個靜态方法:
  public static<E>Set<E>of(E... elements):傳回一個包含任意數量元素的不可變集合
 */

import java.util.Arrays;
import java.util.List;
import java.util.Set;

public class ArgsDemo02 {
    public static void main(String[] args) {
        //public static <T> List<T>asList<T...a>:傳回由指定數組支援的固定大小的清單
//        List<String> list = Arrays.asList("hello", "world", "java");
//        list.add("javaee");//UnsupportedOperationException
//        list.remove("java");//UnsupportedOperationException
//        list.set(1,"javaee");
//        System.out.println(list);
        //public static <E> List<E>of(E... elements):傳回包含任意數量元素的不可變清單
//        List<String> list = List.of("hello","world","java");
//        list.add("javaee");//UnsupportedOperationException
//        list.remove("javaee");//UnsupportedOperationException
//        list.set(1,"javaee");//UnsupportedOperationException
//        System.out.println(list);
        //public static<E>Set<E>of(E... elements):傳回一個包含任意數量元素的不可變集合
//        Set<String> set = Set.of("hello","world","java","world");//IllegalArgumentException
        Set<String> set = Set.of("hello","world","java");
//        set.add("javaee");//UnsupportedOperationException
        set.remove("javaee");//UnsupportedOperationException
        System.out.println(list);

    }
}