运行如下代码:
List<Integer> list = Arrays.asList(1,2,3);
list.add(4);
报如下异常:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:131)
at java.util.AbstractList.add(AbstractList.java:91)
at com.netease.cms.logic.SitemapBase.main(SitemapBase.java:296)
看了一下,Arrays.asList() 返回java.util.Arrays$ArrayList, 而不是ArrayList
Arrays$ArrayList和ArrayList都是继承AbstractList,
add,remove等方法在AbstractList中是默认throw UnsupportedOperationException,
ArrayList override这些方法来对list进行操作,但是Arrays$ArrayList没有override这些方法,所以throw UnsupportedOperationException。
分享到:
相关推荐
Arrays.asList方法的作用是将数组或一些元素转换为集合,但需要注意的是,得到的集合并不是我们通常使用的List集合,而是Arrays里面的一个内部类。 首先,我们来看一下Arrays.asList的方法说明。Arrays.asList方法...
在 Java 中,使用 Arrays.asList 方法可以快速创建一个 List 集合,但是需要注意的是,这个方法返回的 ArrayList 并不是 java.util.ArrayList 对象,而是一个内部类。下面我们来详细了解这个知识点。 首先,让我们...
首先,Arrays.asList()是一个Java内置方法,它位于java.util.Arrays类中。这个方法的主要功能是将一个数组(Array)转换为一个List对象。例如: ```java String[] array = {"yz_b_insert", "yz_b_del", "yz_b_...
Java中的`Arrays.asList()`方法是Java集合框架的一部分,它允许我们将数组或变长参数转换为一个固定大小的`List`对象。这个方法在处理数组与集合之间的转换时非常有用,尤其是当你需要使用集合API操作数组时。下面...
在Java编程中,`Arrays.asList()`方法是一个非常实用的工具,它允许我们将数组转换成一个`List`对象。这个方法在处理数组与集合之间的转换时,提供了很大的便利。下面我们将深入探讨`Arrays.asList()`方法的使用细节...
temp.addAll(Arrays.asList(lowercase)); } else if (type == TYPE.CAPITAL) { temp.addAll(Arrays.asList(capital)); } else if (type == TYPE.NUMBER) { temp.addAll(Arrays.asList(number)); } else if ...
在Java编程领域,集合类是面试中不可或缺的一部分,尤其对于大型公司来说,它们通常会深入探究候选人在集合类的理解和应用能力。Java集合框架是Java SE API中的核心部分,它提供了用于存储和操作对象的数据结构和...
为了方便地操作数组,Java提供了一系列内置的方法和工具类,如`Arrays`类和Apache Commons Lang库中的`ArrayUtils`类等。本文将详细介绍Java数组的一些常用方法及其应用场景。 #### 1. 初始化数组 Java提供了多种...
Java中的`Arrays.sort()`和`Collections.sort()`是两个常用的排序函数,它们分别用于对数组和集合进行排序。这两个函数在内部实现上有所不同,但都基于高效的排序算法。 首先,`Collections.sort()`方法在处理列表...
详解 Java 集合类 List 的那些坑 Java 集合类 List 是 Java 编程语言的集合框架中的一种常用的数据结构,提供了各种实现,然而在使用过程中可能会遇到一些坑,影响开发效率和代码质量。本节将详细介绍 Java 集合类 ...
Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...
在Java中,我们可以将数组转换为List对象,利用`Arrays.asList()`方法即可实现。例如: ```java String[] animals = {"Tiger", "Lion", "Cat", "Dog", "Deer", "Chicken", "Sheep", "Horse", "Rabbit", "Snake"};...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了存储和操作对象的统一接口和类。这个框架使得处理各种数据结构变得更加方便和高效。在这个“java集合框架的使用”主题中,我们将深入探讨如何...
首先,让我们了解Java中的`ArrayList`类,它是`java.util`包的一部分,实现了可变大小的数组。`ArrayList`可以看作是动态数组,它允许我们在运行时添加、删除元素。要将一个基本类型的数组转换为`ArrayList`,我们...
在计算机科学中,集合是数据结构的一个...对于更复杂的数据结构和操作,可以利用 Java 集合框架提供的其他工具类和接口,比如 List、Map 等,以及 Java 8 引入的 Stream API,它们都能极大地提升代码的简洁性和可读性。
这是因为这个List实际上是`java.util.Arrays`类中的一个内部静态类`java.util.Arrays.ArrayList`,它不是标准的`java.util.ArrayList`。因此,如果你尝试向这个List中添加元素,如`list.add("1")`,将会抛出`...
List 可以使用 toArray() 方法转换为 Array,Array 可以使用 Arrays.asList() 方法转换为 List,由于 Arrays.asList() 方法返回的是固定的 List,可以使用 new ArrayList(Arrays.asList(array)) 方法来创建一个可扩...
Arrays.asList()返回一个可变的List集合,而List.of()返回一个不可变的List集合。此外,List.of()参数不能为null,而Arrays.asList()参数可以为null。 普通遍历 vs Stream流遍历 现在,我们将比较普通遍历和Stream...
在Java编程语言中,`java.util.Arrays`类是一个非常实用的工具类,它提供了一系列静态方法,用于操作各种类型的数组,包括整型、浮点型、字符型等。这个类使得处理数组变得更加简单和高效。下面我们将详细探讨`...