java中的tostring方法的具体用法

 更新时间:2019年06月05日 11:56:27   作者:anonymity  
这篇文章主要介绍了java中的tostring方法的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来一起学习一下吧

我们知道调用对象的toString()方法会直接输出对象的属性信息,但是具体怎么实现的?以及如何更好地实现它呢?现在来学习下。

通过java文档我们能知道,toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址。

在进行String类与其他类型的连接操作时,自动调用toString()方法,demo如下:

Date now = new Date();
System.out.println("now = " + now);//相当于下一行代码
System.out.println("now = " + now.toString());

实际应用中,可以根据需要在用户自定义类型中重写toString()方法,如Stirng类重写了toString()方法,返回字符串的值,dome如下

System.out.println(s1);//相当于下一行代码
System.out.println(s1.toString());

基本数据类型转换为String类型是,调用了对应包装类的toString()方法,demo如下:

int a = 10;
System.out.println("a = " + a);

现在来看下jdk里面的源码是怎么样的:

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

现在我们来实践使用它:

Person p1 = new Person();
System.out.println(p1.toString());//TestEquals.Person@15db9742
System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法

当我们打印一个对象的引用时,实际是默认调用这个对象的toString()方法

当打印的对象所在类没有重写Object中的toString()方法时,默认调用的是Object类中toString()方法。

返回此对象所在的类及对应的堆空间对象实体的首地址值。

当我们打印对象所 在类重写了toString(),调用的就是已经重写了的toString()方法,一般重写是将类对象的属性信息返回。

我们也可以自定义一个tostring()方法:

//手动实现
public String toString(){
return " Person:name=" + name +" age=" + age;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • maven工程如何读取resource目录下配置文件

    maven工程如何读取resource目录下配置文件

    这篇文章主要介绍了maven工程如何读取,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java使用Kaptcha实现简单的验证码生成器

    Java使用Kaptcha实现简单的验证码生成器

    这篇文章主要为大家详细介绍了Java如何使用Kaptcha实现简单的验证码生成器,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-02-02
  • Java使用同步方法解决银行取钱的安全问题案例分析

    Java使用同步方法解决银行取钱的安全问题案例分析

    这篇文章主要介绍了Java使用同步方法解决银行取钱的安全问题,结合具体案例形式分析了java同步方法实现多线程安全操作银行取钱问题,需要的朋友可以参考下
    2019-09-09
  • Java日常练习题,每天进步一点点(34)

    Java日常练习题,每天进步一点点(34)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • java 移动文件,并修改名称方式

    java 移动文件,并修改名称方式

    这篇文章主要介绍了java 移动文件,并修改名称方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java关键字final、static使用总结

    Java关键字final、static使用总结

    final方法不能被子类的方法覆盖,但可以被继承。用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块,下面通过本文给大家分享Java关键字final、static使用总结,感兴趣的朋友一起看看吧
    2017-07-07
  • Jmeter基于JDBC请求实现MySQL数据库测试

    Jmeter基于JDBC请求实现MySQL数据库测试

    这篇文章主要介绍了Jmeter基于JDBC请求实现MySQL数据库测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 简单理解Spring之IOC和AOP及代码示例

    简单理解Spring之IOC和AOP及代码示例

    这篇文章主要介绍了简单理解Spring之IOC和AOP及代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • 基于java线程安全问题及原理性分析

    基于java线程安全问题及原理性分析

    下面小编就为大家带来一篇基于java线程安全问题及原理性分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 详细聊一聊java语言中的package和import机制

    详细聊一聊java语言中的package和import机制

    这篇文章主要给大家介绍了关于java语言中package和import机制的相关资料,Java中的package是指将相关的类组织在一起的一种机制,它可以用来避免命名冲突,也可以方便地管理和维护代码,需要的朋友可以参考下
    2024-01-01

最新评论