Java 中的数组到列表:不断演变的行为
在 Java 中,将数组转换为列表是一项常见任务。然而,自 Java SE 1.4.2 以来,Arrays.asList() 方法的行为发生了重大变化。
Java 1.5 之前的行为
Java 1.5 之前, Arrays.asList() 返回一个包含数组实际元素的列表。例如:
int[] numbers = { 1, 2, 3 }; List<integer> list1 = Arrays.asList(numbers);</integer>
在本例中,list1 将包含元素 1、2 和 3。
Java 1.5 及更高版本中的行为
从 Java 1.5 开始,Arrays.asList() 的行为发生了变化。它现在返回一个固定大小的列表,其中包含对原始数组的引用。结果:
int[] numbers = { 1, 2, 3 }; List<integer> list2 = Arrays.asList(numbers);</integer>
在这种情况下,list2 将包含单个元素:数组编号本身。
更改原因
行为的改变是为了强制类型安全。由于列表不能包含像 int 这样的基本类型,因此返回的列表必须是 List
对现有代码的影响
Java 1.5 之前编写的代码依赖Arrays.asList() 的旧行为可能需要修改。例如,以下断言在 Java 1.5 及更高版本中将失败:
Assert.assertTrue(Arrays.asList(numbers).indexOf(4) == -1);
将数组转换为基本类型列表
将基本类型数组转换为相应包装类的列表,您可以使用以下技术:
Integer[] numbers = new Integer[] { 1, 2, 3 }; List<integer> list = Arrays.asList(numbers);</integer>
这个将创建一个包含数组值的 Integer 对象列表。
以上是自版本 1.4.2 以来,Java 中'Arrays.asList()”的行为有何变化?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。