Java 手册

toString(String类中)

public String toString()
返回此对象本身(它已经是一个字符串!)。

指定者:
接口 CharSequence 中的 toString
覆盖:
Object 中的 toString
返回:
字符串本身。

toString(Object类中)

public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())
 
返回:
该对象的字符串表示形式。

toString() 这个方法有点特别,如果把这个方法放在类里面,在创建这个对象之后,输出这个对象的时候会自动调用这个方法。

实例:

Person类,里面重写了toString()方法。

public class Person {
private int age;
private String name; public Person() { } @Override
public String toString() {
return "Person [age=" + age + ", name=" + name + "]";
} }

测试类:

public class test{
public static void main(String[] args) { Person p = new Person();//实例化一个对象
System.out.println(p);
}
}

运行结果:

Person [age=0, name=null]

我们可以看到,在测试类里面我们并没有调用 p 对象里面的 toString() 这个成员方法,但是,它确实是执行了。

如果我们没有在类里面写这个方法,那么它输出的将是对象 p 的地址,例如:Day10.Person@15db9742

那么问题来了,这样做的意义在哪?

1、以我目前的理解就是帮助程序员方便的测试类中的成员变量的状态。

2、toString()方法就是把对象转换成String类型,转换的算法根据类型和实际需要而定。

比如一个Integer对象的toString方法就是把这个对象表示的整数转化成字符串,133就成了"133"。

Java toString()方法的神奇之处的更多相关文章

  1. JAVA toString方法

    在JAVA中,所有的对象都有toString方法: 创建类时没有定义toString方法,输出对象时,会输出对象的哈希值: 它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个 ...

  2. Java toString()方法

    JDK API java.lang 的Object类中的toString()方法 toString public String toString() 返回该对象的字符串表示.通常,toString 方 ...

  3. Java toString()方法的自动调用

    如果某一个对象出现在字符串表达式中(涉及“+”字符串对象的表达式),toString()方法就会被自动调动.

  4. Java—API/Obiect类的equals toString方法/String类/StringBuffer类/正则表达式

    API  Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来 ...

  5. 由Java中toString()方法引发的无意识的递归想到的

    先看一段很简单的java代码: toString()/** * @author jeffwong */ public class InfiniteRecursion { public String t ...

  6. JAVA中toString方法的作用

    因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”. 它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不 ...

  7. Java基础(5):试用Array类对数据进行操作(Sort和toString方法)

    Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等 1. 排序 语法:  Arrays.sort(数 ...

  8. 原!! java直接打印一个对象时,并不是直接调用该类的toString方法 ,而是会先判断是否为null,非null才会调用toString方法

    网上看了好多java直接打印一个对象时,直接调用该类的toString方法 . 但是: Object obj=null; System.out.println(obj);//没有报错 System.o ...

  9. Java中的toString()方法

    Java中的toString()方法 目录 Java中的toString()方法 1.    对象的toString方法 2.    基本类型的toString方法 3.    数组的toString ...

随机推荐

  1. 初探动态规划(DP)

    学习qzz的命名,来写一篇关于动态规划(dp)的入门博客. 动态规划应该算是一个入门oier的坑,动态规划的抽象即神奇之处,让很多萌新 萌比. 写这篇博客的目标,就是想要用一些容易理解的方式,讲解入门 ...

  2. 安装 android x86 到 virtual box

    由于vmware无论怎么整,声音都出不了. 改用virtual box了. 很多注意点都参照了这篇文章 http://www.android-x86.org/documents/virtualboxh ...

  3. ContentNegotiatingViewResolver多种输出格式实例: json/jsp/xml/xls/pdf

    ContentNegotiatingViewResolver多种输出格式实例: json/jsp/xml/xls/pdf 本例用的是javaConfig配置 以pizza为例. json输出需要用到的 ...

  4. selenium 3.6.0 geckodriver的一次坑

    Traceback (most recent call last):  File "./se3.py", line 16, in <module>    dr=webd ...

  5. 【原创】遇到:Invalid layout of java.lang.String at value 这样的问题,该怎么办呢?

    Invalid layout of java.lang.String at value## A fatal error has been detected by the Java Runtime En ...

  6. HDU1754 I hate it_线段树(入门级别)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  7. codeforce——思维dp

    Codeforces 822C Hacker, pack your bags!(思维)   题目大意:给你n个旅券,上面有开始时间l,结束时间r,和花费cost,要求选择两张时间不相交的旅券时间长度相 ...

  8. nginx会话保持之sticky模块

    nginx会话保持之nginx-sticky-module模块 在使用负载均衡的时候会遇到会话保持的问题,常用的方法有:1.ip hash,根据客户端的IP,将请求分配到不同的服务器上:2.cooki ...

  9. PHP:第五章——字符串转换与比较

    <?php header("Content-Type:text/html;charset=utf-8"); //字符串的转换与比较 //1.ord——返回首字符的ASCLL: ...

  10. SQLServer查看用户连接数

    SELECT login_name, ) user_count FROM Sys.dm_exec_requests dr WITH(nolock) RIGHT OUTER JOIN Sys.dm_ex ...