我可以将整数数组转换为 List吗?或列表<整数>通过 Arrays.asList(array)?

发布于 2024-10-13 22:51:47 字数 377 浏览 2 评论 0原文

可能的重复:
Arrays.asList() 无法正常工作?
如何将 int[] 转换为 List在Java中?

我必须将 int[] 重构为 Integer[] ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

橘味果▽酱 2024-10-20 22:51:47
  1. 你不能有 List

  2. Arrays.asList(array ); 将返回类型为 T 的列表(传递的数组)

您可以有类似的东西

  Integer[] a = new Integer[]{1,2,3};
  List<Integer> lst = Arrays.asList(a);
  1. You can't have List<int>

  2. Arrays.asList(array); will return you List with type T of (passed array)

You can have something like

  Integer[] a = new Integer[]{1,2,3};
  List<Integer> lst = Arrays.asList(a);
笑忘罢 2024-10-20 22:51:47

你可以这样做

Integer[] a ={1,2,4};

List<Integer> intList =  Arrays.asList(a);

System.out.println(intList);

You can do this way

Integer[] a ={1,2,4};

List<Integer> intList =  Arrays.asList(a);

System.out.println(intList);
萌面超妹 2024-10-20 22:51:47

编辑:

从 develman 下面的评论来看,java 6 支持为相同的方法返回 List<> 对象

旧答案:

Arrays.asList(array) 返回一个 <代码>java.util.List对象。

EDIT :

From the comment below from develman, java 6 has support to return List<> object for same method

OLD ANSWER :

Arrays.asList(array) returns you a java.util.List object.

祁梦 2024-10-20 22:51:47

如果你有一个整数数组,那么你可以使用 Arrays.asList() 来获取整数列表:

Integer[] inters = new Integer[5];
List<Integer> ints = Arrays.asList(inters);

If you have a array of Integers then you can use Arrays.asList() to get a List of Integers:

Integer[] inters = new Integer[5];
List<Integer> ints = Arrays.asList(inters);
深海夜未眠 2024-10-20 22:51:47

Arrays.asList(array) 返回数组上的列表类型视图。因此,您可以使用List接口来访问包装的java原语数组的值。

现在,如果我们传递一个 java 对象数组和一个 java 原始值数组,会发生什么?该方法采用可变数量的 java 对象。 java 原语不是对象。 Java 可以使用自动装箱来创建包装器实例,但是在这种情况下,它将把数组本身作为一个 java 对象。所以我们最终会这样:

List<Integer> list1 = Arrays.asList(new Integer[]{1,2,3}));
List<int[]>   list2 = Arrays.asList(new int[]{1,2,3}));

第一个集合保存整数值,第二个集合保存 int[] 数组。这里没有自动装箱。

因此,如果您想要将 java 原语数组转换为 List,您不能使用 Arrays.asList >,因为它只会返回一个仅包含一项的 List:数组。

Arrays.asList(array) returns a List-type view on the array. So you can use the List interface to access the values of the wrapped array of java primitives.

Now what happens if we pass an array of java Objects and an array of java primitive values? The method takes a variable number of java objects. A java primitive is not an object. Java could use autoboxing to create wrapper instances, but in this case, it will take the array itself as an java object. So we end up like this:

List<Integer> list1 = Arrays.asList(new Integer[]{1,2,3}));
List<int[]>   list2 = Arrays.asList(new int[]{1,2,3}));

The first collection holds the integer values, the second one the int[] array. No autoboxing here.

So if you want to convert an array of java primitives to a List, you can't use Arrays.asList, because it will simply return a List that contains just one item: the array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文