Chinaunix首页 | 论坛 | 博客
  • 博客访问: 72944
  • 博文数量: 46
  • 博客积分: 1145
  • 博客等级: 少尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-01 14:40
文章分类
文章存档

2017年(1)

2014年(4)

2013年(9)

2012年(32)

我的朋友

分类: Java

2013-03-12 10:31:34

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/blog/java-tostring-method/ 
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
阅读(377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~