黑马程序员技术交流社区

标题: 关于ArrayList输出对象的问题 [打印本页]

作者: 花飞流萤    时间: 2014-12-19 12:22
标题: 关于ArrayList输出对象的问题
import java.util.*;
class Person
{
private String name;
private int age;
Person(String name,int age)
{
  this.name=name;
  this.age=age;
}
public String getName()
{
  return name;
}
public int getAge()
{
  return age;
}

class  ArrayTest2
{
public static void main(String[] args)
{
  ArrayList al=new ArrayList();
  al.add(new Person("li01",30));
  al.add(new Person("li02",31));
  al.add(new Person("li02",31));
  sop(al);//输出结果是[Person@9931f5, Person@19ee1ac, Person@1f1fba0]
  al.add("li01");
  al.add("li02");
  al.add("li03");
  sop(al);//输出结果是 [li01, li02, li03]

public static void sop(Object obj)
{
  System.out.println(obj);
}
}
同样都是对象为什么输出结果不同


作者: 。面具小丑    时间: 2014-12-19 12:36
打印的方式不同
作者: ↘宀˙亲哚/    时间: 2014-12-19 12:50
方法体不一样吧
作者: 花飞流萤    时间: 2014-12-19 13:52
。面具小丑 发表于 2014-12-19 12:36
打印的方式不同

不是都是用一个函数打印的吗,怎么会打印方式不同?
作者: 。面具小丑    时间: 2014-12-19 15:19
花飞流萤 发表于 2014-12-19 13:52
不是都是用一个函数打印的吗,怎么会打印方式不同?

打印的是哈希值 你覆写下toString方法就可以打印出来了
作者: wocan23    时间: 2014-12-20 08:26
一个存的是对象,一个存的是字符串
作者: 吕静然    时间: 2014-12-20 10:15
第一个打印的是地址值!




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