黑马程序员技术交流社区
标题:
object能不能直接转成list
[打印本页]
作者:
黑马田冬雪
时间:
2012-11-5 22:25
标题:
object能不能直接转成list
object能不能直接转成list,这么写为什么可以?
List list = new ArrayList();
Object o new ArrayList();
ArrayList al = (ArrayList)o;
List li = al;
List l = (List )o;
作者:
王振
时间:
2012-11-5 22:42
public static void main(String[] args) {
List list = new ArrayList(); //这句就不需要解释了吧。创建一个对象。
/**
* 下面这句,考虑一个问题,你的这句new ArrayList()的目的是什么?
* 是不是来创建一个对象?
* 既然是一个对象,那么将其引用赋值给作为所有类父类的Object就肯定没有问题。
* 这是一个典型的父类引用指向子类对象。
*/
Object o = new ArrayList();
/**
* 在JVM看来,o是一个Object的引用,你要将这一个对象赋值给其子类,必须要强制转型。
*/
ArrayList al = (ArrayList)o;
/**
* ArrayList实现了List接口,与上面一样,父类引用指向子类对象。
*/
List li = al;
/**
* 参见ArrayList al = (ArrayList)o;说明。
*/
List l = (List )o;
}
复制代码
PS:不是Object直接转成List,而是将该引用指向的ArrayList对象转成List。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2