• Java toString()方法的神奇之处


    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"。

  • 相关阅读:
    Javascript函数的简单学习
    JAVA学习绘图颜色及其笔画属性设置字体显示文字
    JAVA学习路线图
    JAVA学习AWT绘图
    JAVA学习Swing章节按钮组件JButton的简单学习
    JAVA学习Swing章节JPanel和JScrollPane面板的简单学习
    JAVA学习Swing章节流布局管理器简单学习
    JAVA学习Swing绝对局部简单学习
    JAVA学习Swing章节标签JLabel中图标的使用
    JAVA学习中Swing部分JDialog对话框窗体的简单学习
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9519499.html
Copyright © 2020-2023  润新知