zoukankan      html  css  js  c++  java
  • 第十条:始终要覆盖toString()方法

    Object类提供的toString()方法如下:

    public String toString()

    {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());

    }

    如果我们直接打印一个对象,就会调用这个对象的toString()方法,如果我们没有为该类覆盖toString()方法,

    我们可以看出toString()方法,返回的是 “类名@散列值的十六进制”。

    toString()方法的通用约定是:返回当前对象“简洁,但信息丰富,并且易于阅读的表达形式”。

    一个对象的toString()方法在以下情况下会被自动调用:

    println(),printf(), 字符串联操作符(+),assert ,被调试器打印出来时。

    在实际应用中,toString()方法应该返回对象中包含的所有值得关注的信息。

    对于一些值类,提供了toString()方法,把值类型输出为String类型,也应该提供一个相匹配的静态工厂方法或者构造器,将值的String类型转化为

    值的本身类型。Java平台类库中的许多值类都采用了这种做法,如BigInteger,BigDecimal和绝大多数的基本类型包装类。这样就方便了程序员在对象类型

    和字符串类型之间转化。

  • 相关阅读:
    1.4redis小结--队列在抢购活动的实现思路
    1.3redis小结--配置php reids拓展
    redis小结 1-2
    redis小结 1-1
    pandas学习小记
    Python简单算法的实现
    python编码
    ThinkPHP中的__initialize()和类的构造函数__construct()
    js正则常用方法
    总结了下PHPExcel官方读取的几个例子
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4451142.html
Copyright © 2011-2022 走看看