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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花飞流萤 初级黑马   /  2014-12-19 12:22  /  960 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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);
}
}
同样都是对象为什么输出结果不同

6 个回复

倒序浏览
打印的方式不同
回复 使用道具 举报
方法体不一样吧
回复 使用道具 举报

不是都是用一个函数打印的吗,怎么会打印方式不同?
回复 使用道具 举报
花飞流萤 发表于 2014-12-19 13:52
不是都是用一个函数打印的吗,怎么会打印方式不同?

打印的是哈希值 你覆写下toString方法就可以打印出来了
回复 使用道具 举报
一个存的是对象,一个存的是字符串
回复 使用道具 举报
第一个打印的是地址值!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马