zoukankan      html  css  js  c++  java
  • Java集合转有类型的数组之toArray(T[] a)

      在java变成中慎用强制类型转换,尽量使用类自带的转换函数或泛型。先看一行代码

    错误方法:

    1 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的码农一般不知道这个也没怎么研究过,甚至去遍历一遍一个一个转。

    使用方法:

    1 String[] array = new String[list.size()];
    2 list.toArray(array);

    或:

    1 String[] array= list.toArray(new String[list.size()]);  
  • 相关阅读:
    node 随手记录
    node 调试器
    GIT
    原型
    ES6 (11):Class
    ES6 (10):Generator
    集合框架02
    集合框架01
    实现各种尺寸的图片裁剪成圆形头像
    鼠标移上显示 ( 自定义内容 ) 弹出框
  • 原文地址:https://www.cnblogs.com/guanghe/p/10062975.html
Copyright © 2011-2022 走看看