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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 睡中忘了的睡 中级黑马   /  2012-12-5 12:27  /  1387 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 睡中忘了的睡 于 2012-12-5 12:59 编辑

import java.util.*;
class  ALDemo
{
        public static void main(String[] args)
        {
                ArrayList<String>al=new ArrayList<String>();
                al.add("abc1");
                al.add("abc2");
                al.add("abc3");
                System.out.println(al);
                //al列表集合不在内存中?打印结果[abc1, abc2, abc3],
                //不和数组一样打印内存地址?
        }
}

1 个回复

倒序浏览
你在内存中创建了一个ArrayList并且往里面存贮了元素,内存中的那个ArrayList肯定记录了下来啊,怎么会不在内存中呢?
至于打印集合对象为什么会打印[],并且[]里面是元素列表,肯定是集合类重写了toString方法,不是按照Object的方式打印对象了.
另外说的是Object也不是打印内存地址,那个是hash值

点评

哦,原来是ArrayList重写了toSring方法,object打印的是hash值。懂了,谢了!  发表于 2012-12-5 12:58
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马