当前位置: 首页 > 编程笔记 >

java中的tostring方法的具体用法

仲孙才捷
2023-03-14
本文向大家介绍java中的tostring方法的具体用法,包括了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;
}

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

 类似资料:
  • 本文向大家介绍Java toString()方法。,包括了Java toString()方法。的使用技巧和注意事项,需要的朋友参考一下 String类的toString()方法将自身返回为字符串。 示例 输出结果

  • 本文向大家介绍java中的 toString()方法实例代码,包括了java中的 toString()方法实例代码的使用技巧和注意事项,需要的朋友参考一下 前言:       toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据。   最近项目中需要对一个ArrayList<ArrayList<Integer>> datas  形式的集合处理。   处理要求把集合数

  • 本文向大家介绍angular.extend方法的具体使用,包括了angular.extend方法的具体使用的使用技巧和注意事项,需要的朋友参考一下 AngularJs的angular.extend()方法可以把一个或多个对象中的方法和属性扩展到一个目的对象中,使得这个对象拥有其他对象相同的方法和属性,如下图所示。 angular.extends()方法的第一个参数是要被扩展的对象,后面可以传入一个

  • 问题内容: 我想念什么?为什么我必须在下面使用而不是?它与泛型类型擦除有关系吗? 问题答案: 这与类型擦除无关。 查看错误消息: 的类有两个匹配由预期的功能的界面,方法方法。一个是静态的一个参数,而另一种是重写方法的。 编译器不知道您是否要执行此操作: 或这个 :

  • 我正在做一个面向对象的作业...它有四个类人员,学生和员工都扩展人员和教师扩展员工... 我已经做了我能做的几乎所有的事情,但是我不能用tostring方法打印出值,也不能填充数组。我已经使用了getter setter,所有的构造函数和方法仍然不能得到任何输出。这里是人类,所有剩下的三个类都已经完成了。加上主文件

  • 问题内容: 有人可以向我解释该类中定义的方法的概念吗?它是如何使用的,目的是什么? 问题答案: 从文档: 返回对象的字符串表示形式。通常,该 方法返回一个“以文本形式表示”此对象的字符串。结果应该是简洁易懂的表示形式,便于人们阅读。建议所有子类都重写此方法。 用于类的方法 返回一个字符串,该字符串由对象作为实例的类的名称,符号字符“ @”和对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回