ArrayList容器存储的是对象的引用(地址)。那么当输出容器的引用时,输出的应该是容器中对象在内存中的地址。
class ArrayListDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add(new Person("lisi01",31));
al.add(new Person("lisi02",33));
al.add(new Person("lisi03",32));
al.add(new Person("lisi04",35));
al.add(new Person("lisi05",35));
al.add("java01");
al.add("java02");
sop(al);
}
}
问题:字符串对象和new出来的对象有什么不同。为何输出的结果不同?new出来的对象输出的是哈希值。而字符串对象输出的是字符串呢?
运行结果:
F:\JAVA\黑马自学视频\JAVA零基础入门视频\第14天\Day14>java ArrayListDemo
[Person@1db9742, Person@106d69c, Person@52e922, Person@25154f, Person@10dea4e, java01, java02]
F:\JAVA\黑马自学视频\JAVA零基础入门视频\第14天\Day14>
|