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()]);  
  • 相关阅读:
    C# 多线程 异步加载 窗体
    C# 多线程 异步加载 窗体
    C#中的Debug类
    C#中的Debug类
    C# DataGridView:为行头添加行号
    C# DataGridView:为行头添加行号
    向SqlParameter内动态添加参数
    向SqlParameter内动态添加参数
    C# params关键字
    C# params关键字
  • 原文地址:https://www.cnblogs.com/guanghe/p/10062975.html
Copyright © 2011-2022 走看看