看了博文:http://my.oschina.net/jasonli0102/blog/268988。才注意到:
写道
Arrays.asList() 对基本类型数组转换后list中只有一个元素
测试例子:
代码看不懂的请自己调试。
package com.huse.listtest; import java.util.Arrays; import java.util.List; import org.apache.commons.lang.ArrayUtils; public class ArraysAsListTest { public static void main(String[] args) { int[] b = new int[] { 1, 2, 3, 4, 5 }; List listA = Arrays.asList(b); System.out.println(listA.getClass().getName()); System.out.println(listA + " ,size=" + listA.size()); System.out.println(((int[])listA.get(0))[2]+" ,size="+((int[])listA.get(0)).length); List<Integer> listB = Arrays.asList(ArrayUtils.toObject(b)); System.out.println(listB.getClass().getName()); System.out.println(listB + " ,size=" + listB.size()); Integer[] a2 = new Integer[] { 1, 2, 3, 4, 5 }; List<Integer> listC = Arrays.asList(a2); System.out.println(listC.getClass().getName()); System.out.println(listC + " ,size=" + listC.size()); } }
结果:
java.util.Arrays$ArrayList [[I@15db9742] ,size=1 3 ,size=5 java.util.Arrays$ArrayList [1, 2, 3, 4, 5] ,size=5 java.util.Arrays$ArrayList [1, 2, 3, 4, 5] ,size=5
解释在:
http://stackoverflow.com/questions/1467913/arrays-aslist-not-working-as-it-should
http://stackoverflow.com/questions/12020886/how-arrays-aslistint-can-return-listint
写道
List<int> is not permitted in Java, when you use a int[] array as parameter for Arrays.asList it will consider it as the single element of a list instead of an array of int
全文完。
相关推荐
`Arrays.asList`方法是Java中一个非常实用的工具,它允许我们将数组转换为`List`对象,以便在处理数组时可以利用`List`接口提供的便利。然而,这个方法有一些特殊的特性和限制,需要我们理解清楚才能正确使用。下面...
Arrays.asList方法的作用是将数组或一些元素转换为集合,但需要注意的是,得到的集合并不是我们通常使用的List集合,而是Arrays里面的一个内部类。 首先,我们来看一下Arrays.asList的方法说明。Arrays.asList方法...
Arrays.asList()方法是Java中一个常用的方法,它将数组转换为列表。该方法的签名为`public static <T> List<T> asList(T... a)`,它可以接受变长参数,通常情况下是一个数组参数。然而,在将基本类型数组转换为列表时...
在Java编程中,`Arrays.asList()`方法是一个非常实用的工具,它允许我们将数组转换成一个`List`对象。这个方法在处理数组与集合之间的转换时,提供了很大的便利。下面我们将深入探讨`Arrays.asList()`方法的使用细节...
在Java中,我们可以将数组转换为List对象,利用`Arrays.asList()`方法即可实现。例如: ```java String[] animals = {"Tiger", "Lion", "Cat", "Dog", "Deer", "Chicken", "Sheep", "Horse", "Rabbit", "Snake"};...
在上面的例子中,`Arrays.asList(intArray)`会将数组转换为一个不可变的列表,然后`new ArrayList(...)`创建了一个可变的`ArrayList`,并将其初始化为之前列表的内容。 对于对象数组,转换过程相似,但需要注意的是...
可以使用 Arrays.asList() 方法将一个数组转换为一个 List,然后使用 contains() 方法来检查数组是否包含某个值: String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray)....
要将数组转换为不包含重复元素的集合,如 `Set`,可以使用 `HashSet` 并传入 `Arrays.asList()`,如 `Set<String> set = new HashSet(Arrays.asList(stringArray));`。 10. **排序数组**: Java 内置的 `Arrays....
- 过滤和映射:`List<Integer> evenNumbers = Arrays.asList(1, 2, 3, 4, 5, 6).stream().filter(n -> n % 2 == 0).map(n -> n * 2).collect(Collectors.toList());` - 归约:`Optional<Integer> sum = Arrays....
Java标准库中的Arrays类提供了一个asList()方法,可以将数组直接转换为ArrayList类型的List。例如: ```java Integer[] array = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(array); ``` 需要注意的是,...
Java中可以使用Arrays.asList()方法将Array转换成ArrayList,如String[] stringArray = { "a", "b", "c", "d", "e" };ArrayList<String> arrayList = new ArrayList(Arrays.asList(stringArray));这将使得ArrayList...
可以直接利用`Arrays.asList(arr).contains(targetValue)`进行检查,或者通过简单的循环遍历数组来进行比较: ```java for (String s : arr) { if (s.equals(targetValue)) { return true; } } return false; ``...
- 在Java中,可以使用`Arrays.asList()`方法将字符串数组转换为`List`对象。例如: ```java List<String> list = Arrays.asList(animals); Iterator<String> iterator = list.iterator(); while (iterator....
Collection<String> stringList = java.util.Arrays.asList(strings); for (Iterator<String> itr = stringList.iterator(); itr.hasNext();) { String str = itr.next(); System.out.println(str); } ``` Java ...
在上述代码中,`Arrays.stream(arr)`将数组转换为流,`boxed().toArray(Integer[]::new)`将流中的整数转换为`Integer`对象的数组,最后`Arrays.asList()`将数组转换为列表,`ArrayList`的构造函数则将列表转换为`...
- **将数组转换为`ArrayList`**:可以使用`Arrays.asList()`方法将数组转换为`ArrayList`。 ```java ArrayList<String> arrayList = new ArrayList(Arrays.asList(stringArray)); System.out.println(arrayList);...
所有方法都是静态的,因此我们通常通过类名直接调用这些方法,如`Arrays.sort()`或`Arrays.asList()`。这种设计是为了强调`Arrays`作为一个工具类的角色,它不需实例化,仅提供静态服务。 2. **常用方法解析** - ...
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 11, 12); List<Integer> filteredNumbers = numbers.stream() .filter(n -> n > 10) .collect(Collectors.toList()); ``` 2. **map()**: 这个方法将流...