java arraylist to array_ArrayList的toArray
ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:
1.list.toArray();
2.list.toArray(T[] a);
对于第一个重载方法,是将list直接转为Object[] 数组;
第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相同的类型。
不明真像的同学喜欢用第一个,是这样写:
ArrayList list=new ArrayList();
for (int i = 0; i < 10; i++) {
list.add(""+i);
}
String[] array= (String[]) list.toArray();
结果一运行,报错:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
原因一看就知道了,不能将Object[] 转化为String[].转化的话只能是取出每一个元素再转化,像这样:
Object[] arr = list.toArray();
for (int i = 0; i < arr.length; i++) {
String e = (String) arr[i];
System.out.println(e);
}
所以第一个重构方法就不是那么好使了。
实际上,将list世界转化为array的时候,第二种重构方法更方便,用法如下:
String[] array =new String[list.size()];
list.toArray(array);
另附,两个重构方法的源码:
1.
public Object[] toArray(); {
Object[] result = new Object[size];
System.arraycopy(elementData, 0, result, 0, size);;
return result;
}
2.
public Object[] toArray(Object a[]); {
if (a.length < size);
a = (Object[]);java.lang.reflect.Array.newInstance(
a.getClass();.getComponentType();, size);;
System.arraycopy(elementData, 0, a, 0, size);;
if (a.length > size);
a[size] = null;
return a;
}
java arraylist to array_ArrayList的toArray相关推荐
- Java ArrayList到数组
Sometimes we have to convert ArrayList to Array in java program. Today we will look into different j ...
- Java ArrayList 类
ArrayList 类继承了 AbstractList 并实现了 List 接口. ArrayList 支持可以根据需要增长的动态数组. 标准 Java 数组是固定长度的. 数组创建后不能增长或缩小, ...
- Java ArrayList 类(详解)
ArrayList 一.ArrayList 是什么? 二.Java ArrayList 方法 三.案例演示 结果: 一.ArrayList 是什么? ArrayList 类是一个可以动态修改的数组,与 ...
- Java ArrayList的遍历
Java ArrayList的遍历 1.for循环遍历 2.将链表转换为数组,然后遍历 3.使用迭代器进行遍历 1.for循环遍历 import java.util.ArrayList; import ...
- java arraylist的问题
java arraylist的问题 不得不说,我犯了错,很基础的.. 遍历list的时候可以删除数组元素吗? 答案是:简单/增强for循环不可以,list.iterator()这样的方式就可以. 我之 ...
- java arraylist 函数_Java Extend ArrayList函数
让我说我有 class Dummy { String a, b; public Dummy(String a, String b) { this.a = a; this.b = b; } public ...
- java arraylist初始大小_Java - ArrayList默认初始值
当您在Java中创建Integer类型的数组列表时,默认值是什么?我需要检查一个数组列表是否已满,然后我将获取数组的大小,然后获取最后一个索引处的值,并检查它是否为默认值.Java - ArrayLi ...
- Java Arraylist 如何使用 Comparator排序
Java Arraylist 如何使用 Comparator排序import java.util.ArrayList; import java.util.Collections; import jav ...
- java arraylist .get_Java ArrayList get()方法
Java ArrayList get()方法 java.util.ArrayList.get(int index) 方法返回在ArrayList中的指定位置的元素. 1 语法 public E get ...
最新文章
- [转]java 为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?
- 【译】Why Decentralized AI Matters Part I: Economics and Enablers
- php编写猜拳游戏,Python中猜拳游戏与猜筛子游戏的实现方法
- 神奇却又随处可见的斐波那契曲线...
- JVM类加载机制_字节码执行引擎_Java内存模型
- oracle sql 分区查询语句_Oracle 分区概述
- 单处理机系统的进程调度实验_Chcore -- 上交IPADS操作系统银杏书配套Lab实验笔记 - Lab3进程与异常(一)...
- 《天天数学》连载24:一月二十四日
- c语言分治法求众数重数_分治法求众数 - osc_twlari2q的个人空间 - OSCHINA - 中文开源技术交流社区...
- Keil5配置GCC编译器编译STM32工程
- 【体系结构】共享SQL的理解
- linux/ubuntu下简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题)
- sqlite3 语法
- Unity连接本地数据库sqlite
- Django SimpleCMDB API
- 学习时有必要做思维导图吗?
- 架构运维篇(一):Centos7/Linux安装jdk环境
- Symfony2Book16:Symfony2内部03-事件调度
- 正四边形单元刚度矩阵与其尺寸关系
- Java 内部类与外部类的关系
热门文章
- python 获取文本框内容_如何在python中单击按钮时获取文本框中的文本?
- 3个月带货5000万,那些隐藏在小众赛道的“大生意”
- NFT游戏Axie Infinity带来新希望
- 教你用开源 JS 库快速画出 GitHub 章鱼猫
- Android 自定义view onMeasure() 方法剖析
- Linux—top命令详解
- 基于vert.x与webSocket的简单聊天系统
- 如何在mojave深色主题下显示浅色窗口?让你的mac在mojave深色主题下依然显示浅色窗口
- Redis高级项目实战,适合java开发的笔记本电脑
- ThreeJS动态加载div标签