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 来实现

  • 相关阅读:
    zabbix监控
    ipv4固定ip地址
    CentOS7 内核优化 修改参数
    流媒体服务器 red5
    linux安装git
    zabbix-钉钉报警媒介
    Windows下利用IIS建立网站并实现局域网共享
    docker的简单操作和端口映射
    docker概述和安装及基本操作
    VMware Workstation创建Windows2012server虚拟机
  • 原文地址:https://www.cnblogs.com/ming-szu/p/9158453.html
Copyright © 2011-2022 走看看