java tostring 库_Java toString解析

Java toString解析

我们知道,Java所有的类都是Object类的派生类,toString就是Object类中的一个方法。

我们看看它的源代码。

public String toString()

{

return getClass().getName() + "@" + Integer.toHexString(hashCode());

}

可以看见,toString方法返回的是一个字符串。该字符串由 类名+ "@" + 此对象的哈希码(无符号16进制)。

当我们没有重写Object类中的toString方法时,在调用System.out.println()直接传入对象名的时候,会自动调用对象的toString方法,打印出上述的内容。

如:

class Man{

public Man() {

}

}

public class Test {

public static void main(String[] args) {

Man Terry = new Man();

System.out.println(Terry);

}

}

// 结果

// Man@8efb846

既然我们知道在方法或定义,强制类型为String时,直接使用对象名会隐性调用toString方法,那么我们自然可以重写toString方法实现自己的目的。

import java.util.*;

class Man{

static int code = 0;

private int number = -1;

public Man() {

code++;

number = code;

}

@Override

public String toString() {

return "I am No." + number;

}

}

public class Test {

public static void main(String[] args) {

Man Terry = new Man();

Man Tom = new Man();

Man Mary = new Man();

System.out.println(Terry);

System.out.println(Tom);

System.out.println(Mary);

}

}

// 结果

/*

I am No.1

I am No.2

I am No.3

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值