Java中数组转列表

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2022年12月20日 (二) 19:13的版本 →‎Arrays.asList
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

Arrays.asList

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

public class ArrayToList {

    public static void main(String[] args) {

        String[] strArray = {"isy", "mi", "ka", "sa"};

        List<String> list = Arrays.asList(strArray);

        System.out.println("第一次输出:");

        list.forEach(System.out::println);

        list.add("ccc");

        System.out.println("第二次输出:");

        list.forEach(System.out::println);

    }

}
第一次输出:
isy
mi
ka
sa
Exception in thread "main" java.lang.UnsupportedOperationException
	at java.util.AbstractList.add(AbstractList.java:148)
	at java.util.AbstractList.add(AbstractList.java:108)
	at io.github.jihch.ArrayToList.main(ArrayToList.java:19)

需要注意的是:

Arrays.asList() 的实现是 new ArrayList<>(a);,但这个 ArrayList 是 java.util.Arrays.ArrayList,并不是 java.util.ArrayList,虽然都是数组,但第一个不能执行 add 操作