月小升

一个13年的开发老兵。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

java里我们经常System.out.println(xx)
xx可以是一个List 一个HashMap 一个HashSet 一个什么奇怪的自定义的类。
只要能正确显示字符串的背后起作用的都是一个叫toString 的方法。

看个例子

package com.javaer.examples;

import java.util.ArrayList;


class Girl{
	 String name = "";
	 int age = 0;
}

public class JToString {
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ArrayList L = new ArrayList();
		L.add("张三疯");
		L.add("月小升");
		System.out.println(L);
		System.out.println(L.toString());
		
		Girl g = new Girl();
		g.name = "susan";
		g.age = 20;
		System.out.println(g);
	}

}




[张三疯, 月小升]
[张三疯, 月小升]
com.javaer.examples.Girl@35960f05



我们发现ArrayList 直接输出,可以展示正常字符串。而Girl 就不太行了。显示com.javaer.examples.Girl@35960f05

因为Girl里面没有toString 方法。 ArrayList里有。

那么我们给Girl 加个方法

public String toString(){
return "ok,name:" + name + ",age:" + age;
}



当然return 出来的字符串自己随便定义。传说java设计这个toString方法就是为了方便大家写类的时候,方便调试。

输出结果如下

[张三疯, 月小升]
[张三疯, 月小升]
ok,name:susan,age:20


其实我也可以将toString方法写成这样

return name +","+ age;


首发于http://java-er.com - http://java-er.com/blog/java-tostring-method/

看了不后悔,学习编程的八个建议
你会遇到的30个JAVA面试题
俄罗斯方块设计原理
Android教程二:Android 工程文件说明大全
java高性能编程的26个注意事项
一位外国网赚达人的五个写博客建议

posted on 2013-03-12 10:27  月小升  阅读(557)  评论(0编辑  收藏  举报