`
53873039oycg
  • 浏览: 840218 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]Arrays.asList转换int[]

    博客分类:
  • java
 
阅读更多

       看了博文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

    全文完

     

0
0
分享到:
评论
2 楼 53873039oycg 2014-05-26  
dianqiugg 写道
楼主你在说什么,ArrayUtils.toObject(b)这个做了什么

public static Integer[] toObject(int array[]) {
		if (array == null)
			return null;
		if (array.length == 0)
			return EMPTY_INTEGER_OBJECT_ARRAY;
		Integer result[] = new Integer[array.length];
		for (int i = 0; i < array.length; i++)
			result[i] = new Integer(array[i]);

		return result;
	}
1 楼 dianqiugg 2014-05-26  
楼主你在说什么,ArrayUtils.toObject(b)这个做了什么

相关推荐

    Arrays.asList方法总结

    `Arrays.asList`方法是Java中一个非常实用的工具,它允许我们将数组转换为`List`对象,以便在处理数组时可以利用`List`接口提供的便利。然而,这个方法有一些特殊的特性和限制,需要我们理解清楚才能正确使用。下面...

    Java Arrays.asList使用方法解析

    Arrays.asList方法的作用是将数组或一些元素转换为集合,但需要注意的是,得到的集合并不是我们通常使用的List集合,而是Arrays里面的一个内部类。 首先,我们来看一下Arrays.asList的方法说明。Arrays.asList方法...

    Java中Arrays.asList()方法详解及实例

    Arrays.asList()方法是Java中一个常用的方法,它将数组转换为列表。该方法的签名为`public static &lt;T&gt; List&lt;T&gt; asList(T... a)`,它可以接受变长参数,通常情况下是一个数组参数。然而,在将基本类型数组转换为列表时...

    浅谈Arrays.asList()方法的使用

    在Java编程中,`Arrays.asList()`方法是一个非常实用的工具,它允许我们将数组转换成一个`List`对象。这个方法在处理数组与集合之间的转换时,提供了很大的便利。下面我们将深入探讨`Arrays.asList()`方法的使用细节...

    JAVA高级技术.pdf

    在Java中,我们可以将数组转换为List对象,利用`Arrays.asList()`方法即可实现。例如: ```java String[] animals = {"Tiger", "Lion", "Cat", "Dog", "Deer", "Chicken", "Sheep", "Horse", "Rabbit", "Snake"};...

    Java 实例 - 数组转集合源代码-详细教程.zip

    在上面的例子中,`Arrays.asList(intArray)`会将数组转换为一个不可变的列表,然后`new ArrayList(...)`创建了一个可变的`ArrayList`,并将其初始化为之前列表的内容。 对于对象数组,转换过程相似,但需要注意的是...

    Java数组的常用方法.doc

    可以使用 Arrays.asList() 方法将一个数组转换为一个 List,然后使用 contains() 方法来检查数组是否包含某个值: String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray)....

    超实用的Java数组技巧攻略

    要将数组转换为不包含重复元素的集合,如 `Set`,可以使用 `HashSet` 并传入 `Arrays.asList()`,如 `Set&lt;String&gt; set = new HashSet(Arrays.asList(stringArray));`。 10. **排序数组**: Java 内置的 `Arrays....

    Java 8的新特性—终极版

    - 过滤和映射:`List&lt;Integer&gt; evenNumbers = Arrays.asList(1, 2, 3, 4, 5, 6).stream().filter(n -&gt; n % 2 == 0).map(n -&gt; n * 2).collect(Collectors.toList());` - 归约:`Optional&lt;Integer&gt; sum = Arrays....

    详解Java如何在Array和List之间进行转换.rar

    Java标准库中的Arrays类提供了一个asList()方法,可以将数组直接转换为ArrayList类型的List。例如: ```java Integer[] array = {1, 2, 3, 4, 5}; List&lt;Integer&gt; list = Arrays.asList(array); ``` 需要注意的是,...

    Java数组操作方法总结1.pdf

    Java中可以使用Arrays.asList()方法将Array转换成ArrayList,如String[] stringArray = { "a", "b", "c", "d", "e" };ArrayList&lt;String&gt; arrayList = new ArrayList(Arrays.asList(stringArray));这将使得ArrayList...

    Java程序员们最常犯的10个错误

    可以直接利用`Arrays.asList(arr).contains(targetValue)`进行检查,或者通过简单的循环遍历数组来进行比较: ```java for (String s : arr) { if (s.equals(targetValue)) { return true; } } return false; ``...

    JAVA高级技术[归纳].pdf

    - 在Java中,可以使用`Arrays.asList()`方法将字符串数组转换为`List`对象。例如: ```java List&lt;String&gt; list = Arrays.asList(animals); Iterator&lt;String&gt; iterator = list.iterator(); while (iterator....

    Java 8增强的工具类-Arrays

    Collection&lt;String&gt; stringList = java.util.Arrays.asList(strings); for (Iterator&lt;String&gt; itr = stringList.iterator(); itr.hasNext();) { String str = itr.next(); System.out.println(str); } ``` Java ...

    day02_Collection、泛型每日作业卷答案 2

    在上述代码中,`Arrays.stream(arr)`将数组转换为流,`boxed().toArray(Integer[]::new)`将流中的整数转换为`Integer`对象的数组,最后`Arrays.asList()`将数组转换为列表,`ArrayList`的构造函数则将列表转换为`...

    Java数组十种操作方法-扣丁学堂.doc

    - **将数组转换为`ArrayList`**:可以使用`Arrays.asList()`方法将数组转换为`ArrayList`。 ```java ArrayList&lt;String&gt; arrayList = new ArrayList(Arrays.asList(stringArray)); System.out.println(arrayList);...

    java中的Arrays这个工具类你真的会用吗(一文秒懂)

    所有方法都是静态的,因此我们通常通过类名直接调用这些方法,如`Arrays.sort()`或`Arrays.asList()`。这种设计是为了强调`Arrays`作为一个工具类的角色,它不需实例化,仅提供静态服务。 2. **常用方法解析** - ...

    java8,Steam API例子

    List&lt;Integer&gt; numbers = Arrays.asList(1, 2, 3, 4, 5, 11, 12); List&lt;Integer&gt; filteredNumbers = numbers.stream() .filter(n -&gt; n &gt; 10) .collect(Collectors.toList()); ``` 2. **map()**: 这个方法将流...

Global site tag (gtag.js) - Google Analytics