关于一个类型转换的警告问题

aipb2008 2008-03-13 09:29:46
Integer[] iArr = {1,2,3,4,5};
Object[] oArr = iArr; //没有警告

void f(Object...args){
}

f(iArr); //警告
f((Object[])iArr) //没有警告


讲解一下!!!
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongk 2008-03-15
  • 打赏
  • 举报
回复
传的参数和参数表类型不一致,所以会有警告,虽然是多态
其他两个第一个加宽 第二个强制转型 应该都没问题了
aipb2008 2008-03-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 J_Factory 的回复:]
你把Integer型的参数传入Object的方法中当然会有警告呀,类型安全嘛
[/Quote]

Object[] oArr = iArr; //没有警告
wdchengxuyuanzm 2008-03-14
  • 打赏
  • 举报
回复
为什么我运行没有警告呢。我在eclipse中运行的。是不是环境的问题啊。
这个就是多态,应该不会有警告吧?
J_Factory 2008-03-13
  • 打赏
  • 举报
回复
你把Integer型的参数传入Object的方法中当然会有警告呀,类型安全嘛
aipb2008 2008-03-13
  • 打赏
  • 举报
回复
楼是大哥能说清楚点吗?

我觉得第1,2中情况是一样,怎么一个有警告,一个没有呢?
网络咖啡 2008-03-13
  • 打赏
  • 举报
回复
自动拆装箱啊,可能是基本数据类型啊

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧