Java Arrays.AsList 原理及用法实例
简介
Arrays.AsList()
是 Java 中的一个常见方法,主要用于将数组转换成List集合。在实际开发中,我们通常将数组转化为 List 后,便可以使用其提供的方法方便地对集合进行操作。
语法
Arrays.asList(T... a);
其中 T 表示传入参数类型,a 表示用于转化的数组对象。该方法的返回值类型为 List\<T>,即转化后的List集合类型。
用法实例
下面将从数组转换为 List 的实例、数组元素为基本数据类型时的转换以及注意事项等三个方面介绍 Arrays.asList() 的使用。
数组转换为 List 的实例
下面是一个将数组转化为 List 的基本实例:
String[] arr = {"google", "baidu", "bing"};
List<String> list = Arrays.asList(arr);
System.out.println(list);
实现结果如下:
[google, baidu, bing]
数组元素为基本数据类型时的转换
当数组中元素为基本数据类型时,通过 Arrays.asList() 转换后,得到的实际上是一个 Object 类型的 List 集合。如果强制转换会出现异常。
下面用例子来说明:
int[] arr = {1, 2, 3};
List<int[]> list = Arrays.asList(arr);
上述代码将会出现编译错误,提示 “泛型数组创建错误。”。这是因为在使用 Arrays.asList() 方法时,会将数组作为一个对象,因此最终得到的是一个 int[] 类型的 List 集合,而不是一个 List\<Integer> 集合。
正确的方法是,将每个数组元素转换为 Integer 类型,将数组转换为 List 集合后,就可以对元素进行操作了:
Integer[] arr = {1, 2, 3};
List<Integer> list = Arrays.asList(arr);
注意事项
在实际开发中,通常需要使用其他形式的集合,例如 ArrayList、Vector 等。Arrays.asList() 返回的 List 集合每次都是不同的,如果将其中的元素删除或新增后再使用原数组时,结果会产生影响。
下面是一个错误用法的示例:
String[] arr = {"google", "baidu", "bing"};
List<String> list = Arrays.asList(arr);
list.add("sogou");
System.out.println(Arrays.toString(arr));
执行上述代码后,会出现 UnsupportedOperationException 错误,提示 “不支持的操作异常。”。这是由于 Arrays.asList() 返回的 List 集合不支持 add() 方法,因此我们应该使用其他类型(如 ArrayList)进行元素的添加、删除操作,避免出现此类错误。
结论
Arrays.asList() 提供了一种简便的方法将数组转换为 List 类型,方便进行集合操作。但是需要注意其实现时需要额外小心措辞,切勿因使用不当而产生意外的错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Arrays.AsList原理及用法实例 - Python技术站