黑马程序员技术交流社区

标题: 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
  1. public static void main(String[] args) {
  2.                 List list = new ArrayList();  //这句就不需要解释了吧。创建一个对象。

  3.                 /**
  4.                  * 下面这句,考虑一个问题,你的这句new ArrayList()的目的是什么?
  5.                  * 是不是来创建一个对象?
  6.                  * 既然是一个对象,那么将其引用赋值给作为所有类父类的Object就肯定没有问题。
  7.                  * 这是一个典型的父类引用指向子类对象。
  8.                  */
  9.                 Object o = new ArrayList();
  10.                
  11.                 /**
  12.                  * 在JVM看来,o是一个Object的引用,你要将这一个对象赋值给其子类,必须要强制转型。
  13.                  */
  14.                 ArrayList al = (ArrayList)o;
  15.                
  16.                 /**
  17.                  * ArrayList实现了List接口,与上面一样,父类引用指向子类对象。
  18.                  */
  19.                 List li = al;
  20.                
  21.         /**
  22.          * 参见ArrayList al = (ArrayList)o;说明。
  23.          */
  24.                 List l = (List )o;
  25.         }
复制代码
PS:不是Object直接转成List,而是将该引用指向的ArrayList对象转成List。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2