zoukankan      html  css  js  c++  java
  • 重写Object.toString()总结

    定义

    toString()返回对象值的字符串,用于记录类的具体信息

    Object.toString()返回值: className@hashcode

    每一个自己定义的类都尽量重写toString(),方便观察值与获得重要信息

    Java默认调用toString()

    ""+String  调用String.toString()

    System.out.println(x) 自动调用x.toString()将返回值打印

    Logger.global.info(x) 日志中也是打印x.toString()的返回值

    重写toString()

    • getClass().getName()打印类名
    • 打印实例域值

    举例Manager(String sex,int bonus),Person(String name)

    1.Manager未继承Person

        @Override
        public String toString() {
            return getClass().getName()
                    +"[sex="+sex
                    +"bonus="+bonus
                    +"]";
        }

    2.Manager继承Person,调用父类的toString()方法,因为父类已有getClass.getName()方法,所以不需要自己再重写

        @Override
        public String toString() {
            return super.toString()
                    +"[sex="+sex
                    +"bonus="+bonus
                    +"]";
        }

    数组的toString()

    使用Arrays.toString(array) 来打印数组中具体元素的信息

    使用Arrays.deeptoString(array) 来打印多维数组的具体信息

    修改idea自带的toString默认格式

    idea中自带的toString()是直接写死类名,但我们应该调用getClass().getName(),所以要修改它的模板

    在类中按Alt+Insert可插入一些默认的模板方法,其中包括了toString()

    点击setting->Templates->新增+

    然后将原模板复制粘贴,修改为getClass().getName()

    如果想要默认的json页可以参考 https://blog.csdn.net/jlnu_wanglei/article/details/78083707 来实现

  • 相关阅读:
    ssh实现免密码登录和文件传输
    linux后台执行程序相关命令
    orchestrator
    curl下载安装与使用
    goland使用
    mysql集群
    consul理解
    my.cnf
    数据库的表设计
    项目常见面试问题
  • 原文地址:https://www.cnblogs.com/ming-szu/p/9158453.html
Copyright © 2011-2022 走看看