在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()]);  

最新文章

  1. class-dump 反编译私有的库和应用
  2. Kafka 分布式环境搭建
  3. eclipse或myeclipse快捷键
  4. 因为此控件已在 web.config 中注册并且与该页位于同一个目录中
  5. user_jj两条记录改成一条
  6. JDBC事务处理
  7. Flipping elements with WPF
  8. jsoncpp封装和解析字符串、数字、布尔值和数组
  9. windows+tomcat 7配置二级域名访问其他web程序
  10. .NET设计模式(3):抽象工厂模式(Abstract Factory)
  11. 月薪10K必备--C#下拉框联动
  12. Nginx redirect
  13. django 自定义过滤器(filter)处理较为复杂的变量的实例
  14. POJ 2566 尺取法(进阶题)
  15. [Machine Learning]学习笔记-Neural Networks
  16. Shell 字符截取命令 Cut
  17. Matlab Gauss quadrature
  18. kali linux android木马(内网+外网)
  19. p4168 [Violet]蒲公英(分块)
  20. vc通过webbrowser操作ie元素

热门文章

  1. C++异常 将对象用作异常类型
  2. Spring学习笔记--声明一个简单的Bean
  3. Android 多状态按钮ToggleButton
  4. 360全景图three.js与Photo-Sphere-Viewer-master 3D全景浏览开发
  5. OC开发_Storyboard——AutoLayout
  6. VMware Authorization Service 未运行怎么解决
  7. poj2176 Folding【区间DP】
  8. ora-00600错误解决一枚
  9. python linux 自动补全 tab.py
  10. 构建vue项目(vue 2.x)时的一些配置问题(持续更新)