Java集合转有类型的数组之toArray(T[] a)
2024-08-27 14:27:09
在java变成中慎用强制类型转换,尽量使用类自带的转换函数或泛型。先看一行代码
错误方法:
String[] array= (String[]) list.toArray();
如果list中存放的是string类型,上面的代码看上去似乎没有问题,但是运行就会报错:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
java中的强制类型转换只是针对单个对象的,想要偷懒将整个数组转换成另外一种类型的数组是不行的,这和数组初始化时需要一个个来也是类似的。
那么问题来了,我们经常需要将集合转换成有类型的数组,不能对数组整体进行强转,难道要一个一个遍历一遍转换?
当然不是,jdk集合除了提供toArray()方法,还提供了一个toArray(T[] a)方法,比较low的码农一般不知道这个也没怎么研究过,甚至去遍历一遍一个一个转。
使用方法:
String[] array = new String[list.size()];
list.toArray(array);
或:
String[] array= list.toArray(new String[list.size()]);
最新文章
- class-dump 反编译私有的库和应用
- Kafka 分布式环境搭建
- eclipse或myeclipse快捷键
- 因为此控件已在 web.config 中注册并且与该页位于同一个目录中
- user_jj两条记录改成一条
- JDBC事务处理
- Flipping elements with WPF
- jsoncpp封装和解析字符串、数字、布尔值和数组
- windows+tomcat 7配置二级域名访问其他web程序
- .NET设计模式(3):抽象工厂模式(Abstract Factory)
- 月薪10K必备--C#下拉框联动
- Nginx redirect
- django 自定义过滤器(filter)处理较为复杂的变量的实例
- POJ 2566 尺取法(进阶题)
- [Machine Learning]学习笔记-Neural Networks
- Shell 字符截取命令 Cut
- Matlab Gauss quadrature
- kali linux android木马(内网+外网)
- p4168 [Violet]蒲公英(分块)
- vc通过webbrowser操作ie元素
热门文章
- C++异常 将对象用作异常类型
- Spring学习笔记--声明一个简单的Bean
- Android 多状态按钮ToggleButton
- 360全景图three.js与Photo-Sphere-Viewer-master 3D全景浏览开发
- OC开发_Storyboard——AutoLayout
- VMware Authorization Service 未运行怎么解决
- poj2176 Folding【区间DP】
- ora-00600错误解决一枚
- python linux 自动补全 tab.py
- 构建vue项目(vue 2.x)时的一些配置问题(持续更新)