A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Baiye 中级黑马   /  2014-8-24 23:25  /  943 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Oject[] 类型是 String[] 的父类吗?
ArrayList<Object> 是 ArrayList<String>的父类吗?

2 个回复

倒序浏览
一、对于数组,可以认为Object[]类型是String[]的父类,如你可以这样:
String[] strs = new String[3];
Object[] objs = strs;
即使这样也容易会引发程序异常,如下面这个例子:
Integer[] ia = new Integer[5];
Number[] na = ia;
//下面代码编译正常,但运行时会引发ArrayStoreException异常
//因为0.5并不是Integer
na[0] = 0.5;

二、但对于泛型相关的集合,ArrayList<Object>不是ArrayList<String>的父类,你不不可以这样:
String[] strs = new String[3];
Object[] objs = strs;//这里将引起编译错误
回复 使用道具 举报
Object 是所有类的父类;ArrayList<Object> 是 ArrayList<String>这只是 泛型内类型不同!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马