自版本 1.4.2 以来,Java 中'Arrays.asList()”的行为有何变化?
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);
在本例中,list1 将包含元素 1、2 和 3。
Java 1.5 及更高版本中的行为
从 Java 1.5 开始,Arrays.asList() 的行为发生了变化。它现在返回一个固定大小的列表,其中包含对原始数组的引用。结果:
int[] numbers = { 1, 2, 3 }; List<Integer> list2 = Arrays.asList(numbers);
在这种情况下,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 对象列表。
以上是自版本 1.4.2 以来,Java 中'Arrays.asList()”的行为有何变化?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

公司安全软件导致部分应用无法正常运行的排查与解决方法许多公司为了保障内部网络安全,会部署安全软件。...

将姓名转换为数字以实现排序的解决方案在许多应用场景中,用户可能需要在群组中进行排序,尤其是在一个用...

系统对接中的字段映射处理在进行系统对接时,常常会遇到一个棘手的问题:如何将A系统的接口字段有效地映�...

在使用IntelliJIDEAUltimate版本启动Spring...

在使用MyBatis-Plus或其他ORM框架进行数据库操作时,经常需要根据实体类的属性名构造查询条件。如果每次都手动...

Java对象与数组的转换:深入探讨强制类型转换的风险与正确方法很多Java初学者会遇到将一个对象转换成数组的�...

电商平台SKU和SPU表设计详解本文将探讨电商平台中SKU和SPU的数据库设计问题,特别是如何处理用户自定义销售属...

Redis缓存方案如何实现产品排行榜列表的需求?在开发过程中,我们常常需要处理排行榜的需求,例如展示一个�...
