java 自定义tostring_自定义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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值