黑马程序员技术交流社区

标题: 这是怎么回事,打印不出来 [打印本页]

作者: 小草君    时间: 2014-3-5 16:58
标题: 这是怎么回事,打印不出来
package list;

import java.util.LinkedList;

  class Dui
{
        private LinkedList lin;
        public Dui()
        {
                lin=new LinkedList();
        }
        public  void myAdd(Object obj)
        {
                lin.addFirst(obj);
        }
        public Object get()
        {
                return lin.removeFirst();
        }
        public boolean isNull()
        {
                return lin.isEmpty();
        }
       
       
       
}

class DuiLei {

        public static void main(String[] args) {
                Dui a=new Dui();
                a.myAdd("abc1");
                a.myAdd("abc2");
                a.myAdd("abc3");
                a.myAdd("abc4");
//        while(!a.isNull())
//                       
//                System.out.println(a.get());
                System.out.println(a);
        }

}

结果打印出list.Demo@290fbc
不是我钻牛角尖,本来直接可以在主函数上打印的,我就想这样试下,咋就打不出来了啊,什么问题,求指教。。。

作者: 谭荣强    时间: 2014-3-5 22:14
打印出来哈希值就对了。   System.out.println(a); 里面的的a是一个Dui类型的引用变量,a再堆内存中就是以哈希值存在。另外打印的哈希值好像是Dui@46b8705b
你若想要在主函数打印,得靠removeFirst();的返回值,它返回的是一个Object型对象。可以这样打印。
Object obj = a.get();//
ystem.out.println(obj);

结果:
D:\Java\day14>java lianxi
abc4




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