集合的toArray()方法返回一个Object数组,它就是Object不是其他类;但是我们如果需要获得对应特定类型的数组时:通常都是在取得数组元素时进行强制类型转换;
因为直接的转换是错的:

List<Integer> list = new ArrayList<>();
Integer[] objects = (Integer[]) list.toArray();

这段代码会报一个这样的异常:

Exception in thread "main" java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.Integer;

只能在取得元素时强转;

for (int i = 0; i < list.size(); i++) {int key = (int) objects[i];
}

这样是没有问题的;
可以通过遍历整个object数组然后逐个元素进行转型获得想要的数组;
细心的你可能发现java.util.Collection接口下有好几个toArray()方法,那么其他的方法怎么用:

<T> T[]toArray​(T[] a)

a:是用于保存集合所有内容的数组。
对于返回值,如果参数指定的数组能够容纳Set集合的所有内容,就使用该数组保存集合中的所有对象,并返回该数组;否则,返回一个新的能够容纳集合中所有内容的数组。
如果参数指定的数组长度大于集合的大小,那么数组的剩余空间全部复制为null值。

toArray()方法相关推荐

  1. list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的

    单选 list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的:答案在文末 A. Vector无法使用toArray转换成数组. B. 优先推荐:调用集合类的方法toArray(T[ ...

  2. java中List的toArray方法

    把List转换成某种类型的数组,就拿String类型来做例子吧,有以下两种方式: //方法1,使用不带参数的toArray方法 String[] arr1=new String[list.size() ...

  3. 关于Arrays类中toArray方法的总结

    学了差不多两年的Java,数组类Arrays应该是我最常用到的类之一了,在整个学习的过程中,会更常用到一个方法,那就是toArray方法,因为将Collections类型的集合转化为数组后,将会更容易 ...

  4. List转数组toArray方法

    一.List.toArray方法 List提供了一个将List转为数组的一个非常方便的方法toArray.toArray有两个重载的方法:  Object[] toArray()            ...

  5. 有关ArrayList的toArray()方法的一些探究

    ArrayList的创建与toArray()方法 先上两段代码,大家自己感受下 List<String> list1 = Arrays.asList("abc");// ...

  6. c# Dictionary 中Keys.ToArray方法的细节测试

    /// <summary>/// dic.Keys.ToArray<>方法生成数组的顺序和dic中的顺序相同/// </summary>public static ...

  7. List的toArray方法强制转换

    List的toArray方法强制转换 List容器类中有一个toArray()的方法,该方法是用来把List转化为数组的. 这个方法有一个特点就是转化出来的数组是复制了原数据的一个副本而不只是原数据的 ...

  8. 集合类的toArray方法

    功能:将对象的元素值返回为数组 jdk1.8的文档中共有两种toArray方法: 一.无参的toArray()方法 直接将对象转成一个数组用Object数组来接收 代码 import java.uti ...

  9. toArray方法总结

    toArray方法涉及java的泛型,反射,数组的协变,jvm等知识. Java标准库中Collection接口定义了toArray方法,如果传入参数为空,则返回Object[]数组,如果传入参数为T ...

最新文章

  1. private的误解
  2. 计算机乐谱弱点,缺点简谱郑源
  3. 科大星云诗社动态20210222
  4. VOA AGRICULTURE REPORT - Two Efforts Seek to Increase Food Security in Africa
  5. StringTokenizer(字符串分隔解析类型)
  6. 前端学习(3344):设计模式之工厂模式1
  7. 自动化要不要学python-老男孩linux自动化运维|做人工智能为什么要学Python呢?
  8. php 顺丰接口实例,顺丰BSP接口PHP开发注意事项
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的个人记账管理系统
  10. 【网络信息安全】密码学入门笔记
  11. Redis基础笔记 (二)
  12. 源码阅读:SDWebImage(五)——SDWebImageFrame
  13. php 下载的文件损坏,php 文件下载 出现下载文件内容乱码损坏的解决方法
  14. [下载]活学活用DataGrid控件与ADO.NET
  15. web标准设计工具:代码本地校验软件A Real Validator(附注册码)
  16. duilib学习 --- 360demo 学习
  17. Linux驱动开发之触摸驱动
  18. O2O(online to offline)营销模式
  19. AM3352上移植sqlite3数据库
  20. JavaWeb(10.21)

热门文章

  1. 绝非奇闻怪谈 中国街头骗术大全
  2. 封装虚拟机快照的母盘
  3. python怎么设置文本框大小_如何在Python中更改Tkinter文本框的宽度和高度?
  4. 解决“word空格后面下划线自动消失”问题
  5. XGBoost算法原理以及实现
  6. 《雪中悍刀行》到底行不行?我爬了1w条评论来告诉你
  7. 专题·树链剖分【including 洛谷·【模板】树链剖分
  8. phpstudy中mysql无法启动
  9. 统计学中的 DATA:Nominal,Ordinal, Interval and Ratio怎么区别
  10. python 读取合并单元格_python使用xlrd读取合并单元格