自定义java toString方法


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;
如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
你将得到的不仅仅是技术的交流,还有职业机会,人生解惑.
首发地址:月小升博客https://java-er.com/blog/java-tostring-method/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
此条目发表在 JAVA 分类目录,贴了 , 标签。将固定链接加入收藏夹。
既然来了,就评论一下,不会怀孕的

自定义java toString方法》有 7 条评论

  1. 博主你好,我在博客里加了一个“独立博客大全”的版块,有时间过来看看,如果没有添加你的,通知我一声,无条件收录!

  2. 红色石头 说:

    object类的几个方法都比较重要,经常会用到的~覆写也是经常做的事情~

  3. 网络茶馆 说:

    看样子是java高手哦

  4. yxiao 说:

    Girl类有继承Object类中的toString方法

  5. 白的菜 说:

    apache的commom包下有个类可以拿来用,自己用反射写也可

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">