List.toArray的使用
来源:互联网 发布:java线程与进程的 编辑:程序博客网 时间:2024/05/18 21:07
首先,int 与 Integer类之间可以互用,如下代码合法:
int z = 1;
Integer zz = new Integer(2);
z = zz; //or zz = z;
System.out.println(z /*or zz*/);
其次,int[ ] 与 Integer[ ]之间不能互用。
言归正传
如贴图所示,toArray方法有两个重载,返回值分别为Object[] 与 T[]。
两个方法源码及解释如示:
toArray()
说明:ArrayList 实例转换为。
源码解释:直接调用Arrays类的copyOf。
public Object[] toArray() {return Arrays.copyOf(elementData, size);}toArray(T[] a)
说明:将ArrayList里面的元素赋值到一个数组中去源码解释:如果a的长度小于ArrayList的长度,直接调用Arrays类的copyOf,返回一个比a数组长度要大的新数组,里面元素就是ArrayList里面的元素;如果a的长度比ArrayList的长度大,那么就调用System.arraycopy,将ArrayList的elementData数组赋值到a数组,然后把a数组的size位置赋值为空。public <T> T[] toArray(T[] a) { if (a.length < size) // Make a new array of a's runtime type, but my contents: return (T[]) Arrays.copyOf(elementData, size, a.getClass()); System.arraycopy(elementData, 0, a, 0, size); if (a.length > size) a[size] = null; return a; }因为int是基础类,所以无论如何都无法用toArray方法将List内的元素直接转为int数组。
List<Integer> lists = new LinkedList<Integer>();在声明List并向其中添加元素后,可以采取如下方法使用toArray方法:
Integer[] rd = (Integer[]) lists.toArray(new Integer[lists.size()]);
其中(Integer[])不必要,无需再进行类型转换,但使用Integer[] c =(Integer[])intList.toArray();会报错,因为Objec[]不能直接转化成Integer[]。以下方法也可:
Integer[] rd = new Integer[lists.size()];Integer[] rd2= new Integer[1];rd = lists.toArray(rd2);//or rd = lists.toArray(rd);
0 0
- List.toArray的使用
- 正确使用List.toArray()
- List中toArray()的使用方法
- List中toArray()的使用方法
- toArray的使用
- toArray的使用
- List toArray()
- List.toArray
- List.toArray()
- 如何正确使用List中的toArray()方法
- java.util.List.toArray() 使用体会
- java.util.List.toArray() 使用体会
- java.util.List.toArray() 使用体会
- List.toArray()采用的是深度拷贝
- List.toArray()方法的源码分析
- List的toArray方法强制转换
- [Java] ArrayList.toArray()的使用
- 如何使用List.toArray()转换为数组对象
- VC 如何读取第三方软件ListView控件(外挂篇之一)
- Java线程的基本运用
- 查询sql语句执行消耗的时间
- bzoj1014: [JSOI2008]火星人prefix
- centOS 7 设置固定IP,无法上外网
- List.toArray的使用
- 排列组合
- 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()《转载》
- C++调用外部应用程序的方法的整理总结
- python学习笔记三(scrapy)
- Linux查找进程并kill
- git建立追踪关系的小技巧
- webclient上传数据到ashx服务
- 关于基于http的嵌入式linux与服务器的get,post解析理解