为了账号安全,请及时绑定邮箱和手机立即绑定

Java:在集合的遍历中,关于 Object[] toArray() 方法的疑问

Java:在集合的遍历中,关于 Object[] toArray() 方法的疑问

胡子哥哥 2019-02-21 01:59:06
Java:在集合的遍历中,方法之一为 可以调用Collection接口中的 Object[] toArray()方法 将集合转为数组。这里为什么用 Object[]类型来当返回值,感觉有点怪
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

1.Object是所有对象的父类。
2.容器类在不知道会放入什么类型的情况下,实现设计只能用Object数组来存放元素。
3.泛型在编译之后是被擦除的。也就是说,对于JVM来说,他看到的是Object。
所以只能返回Object数组。至于加上泛型之后,编译器会帮你进行强制转换和元素检测。

查看完整回答
反对 回复 2019-03-01
?
波斯汪

TA贡献1811条经验 获得超4个赞

是的,很奇怪。

所以推荐使用Collection.toArray(T[] a)来返回泛型,避免Object[]强转的问题。

查看完整回答
反对 回复 2019-03-01
?
呼如林

TA贡献1798条经验 获得超3个赞

因为不知道集合中元素的具体类型。而Object是所有类的父类。这样更合理一点。

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 581 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信