![]() |
1
101
从Java 8开始,您现在可以使用流来实现这一点:
|
![]() |
2
91
我发现使用apache commons lang ArrayUtils很方便( JavaDoc , Maven dependency
它也有相反的API
编辑: 已更新,以提供注释和其他修复建议的完整列表转换。 |
![]() |
3
38
|
![]() |
4
29
|
![]() |
5
17
有点冗长,但这是有效的:
在您的示例中,Arrays.asList()似乎将输入解释为长[]数组列表,而不是长数组列表。当然,这有点令人惊讶。在这种情况下,自动拳击并没有按照你想要的方式发挥作用。 |
![]() |
6
17
作为另一种可能性,
the Guava library
|
![]() |
7
7
新 与数组内容相同的列表,或引用第三方库。然而,这种转换有简单的内置选项。其中一些已经在其他答案中进行了概述(例如。 this one ).但我想指出并阐述这里实施的某些自由度,并展示潜在的好处、缺点和注意事项。
这里将快速总结这些选项,完整的示例程序显示在这个答案的底部。 创建新列表与创建 视图 在阵列上 当结果应该是 新
但人们应该考虑这样做的缺点:一个有1000000的数组
(请参阅底部的示例,了解
视图 数组中的变化将在列表中可见:
幸运的是,创建一个副本(即 新 不受数组修改影响的列表)从视图中删除是微不足道的:
创建一个 不可修改的 视图 在许多情况下,当列表满足以下条件时就足够了 结果列表的内容通常不会被修改,而只会传递给仅读取列表的下游处理。 允许对列表进行修改会引发一些问题:
这意味着列表中的更改,例如在某个索引处设置新值,将在数组中可见。 但是,不可能创建以下列表视图 结构可修改 这意味着不可能进行影响 尺寸 数组 无法更改。 以下是一个 MCVE
|
![]() |
8
5
不,基本类型的数组不会自动转换为其盒装引用类型的数组。你只能这么做
|
![]() |
9
4
Java 8的另一种方式。
|
![]() |
10
3
我正在为这些问题编写一个小型库:
如果你介意的话,检查一下 here . |
![]() |
11
3
way Java 8。
|
![]() |
12
3
结合帕维尔和汤姆的答案,我们得到这个
|
![]() |
13
2
如果你想要类似的语义
|
![]() |
14
2
您可以使用 transmorph :
例如,如果源是一个整数数组,它也可以工作。 |
![]() |
15
2
我知道这个问题已经够老了,但是。..你也可以编写自己的转换方法:
使用静态导入将其包含在内后,可能的用法如下:
或
|
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 8 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |