Java基本类型数组转ArrayList
Posted StubbornAnt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基本类型数组转ArrayList相关的知识,希望对你有一定的参考价值。
先来看源码
- 当我们调用Arrays.asList(array) 时,实际是执行了包可见的ArrayList的构造函数(注意通常这个构造函数对用户是不可见的,所以不能通过
List list = new ArrayList(array)来进行转换
) - 由于a是一个E[]数组,E又是ArrayList的泛型,所以我们传入的实参array必须是对象数组,或者对象列表
- 如果传入的是基本类型数组,整个数组会被当做一个对象,从而
Arrays.asList(new char[]'a','b');
转换的类型为List<char[]>
public static <T> List<T> asList(T... a)
return new ArrayList<>(a);
ArrayList(E[] array)
if (array==null)
throw new NullPointerException();
a = array;
private final E[] a;
private static class ArrayList<E> extends AbstractList<E>
正确的转换方式
利用自动装箱机制,循环添加元素
public class Demo
public static void main(String[] args)
List<Character> list = new ArrayList<Character>();
char[] chs = new char[]'a', 'b';
for (Character ch : chs)
list.add(ch);
System.out.println(list);
以上是关于Java基本类型数组转ArrayList的主要内容,如果未能解决你的问题,请参考以下文章
java中,数组可以存放基本数据类型,而集合就不行,集合中存放的必须是对象(比如说ArrayList
java怎么创建一个float类型的ArrayList,然后怎么把这个ArrayList转换成float数组。谢谢