print打印对象

作者: G_uest | 来源:发表于2019-07-24 23:11 被阅读0次

api文档中是这样定义的

public void print(Object obj)打印对象。
按照平台的默认字符串编码将 String.valueOf(Object) 方法生成的字符串转换为字节,并完全以 write(int) 方法的方式写入这些字节。
另请参见:Object.toString()

Object.toString()

public String toString()返回该对象的字符串表示。
通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())

结论

如果定义类没有重写 toString() 方法,print(object obj) 默认输出,object类的toString()方法返回值 包名.类名@对象哈希值
如果定义类重写了 toString() 方法,输出为子类重写的 toString() 方法返回值。

测试一

package base;

public class test {

    public static void main(String[] args) {
        A a = new A();
        System.out.println(a);
    }
}

class A {
     @Override
     public String toString() {
         return "this is A's toString";
     }
}

输出结果

this is A's toString

测试二

package base;

public class test {

    public static void main(String[] args) {
        A a = new A();
        System.out.println(a);
    }
}

class A {
}

输出结果

base.A@15db9742

相关文章

  • print打印对象

    api文档中是这样定义的 public void print(Object obj)打印对象。按照平台的默认字符串...

  • 常用的LLDB命令

    打印对象 print、p:打印 po:打印对象 读取内存 memory read/数量格式字节数 内存地址 x/...

  • 15-内存管理

    元类 类也是对象(属于元类的对象)#打印字符串(字符串是对象)print("HelloWorld")#打印类名,类...

  • 网页局部打印功能

    思路: 将打印内容写入到iframe中,通过iframe的window对象print()方法实现iframe打印 ...

  • 常用LLDB指令

    print , p打印内存地址 po打印对象 memory read 或者 x读取内存 memory read后边...

  • iOS常用调式命令

    po:打印对象,会调用对象 description 方法。是 print-object 的简写expr:可以在调试...

  • 关于Runtime

    lldb(gdb)常用的调试命令? po:打印对象,会调用对象description方法。是print-objec...

  • iOS知识原理篇二

    lldb(gdb)常用的调试命令? po:打印对象,会调用对象description方法。是print-objec...

  • 面试 (六) : 原理篇/2

    lldb(gdb)常用的调试命令? • po:打印对象,会调用对象description方法。是print-obj...

  • 面试 基础(五)原理篇2

    lldb(gdb)常用的调试命令?• po:打印对象,会调用对象description方法。是print-obje...

网友评论

    本文标题:print打印对象

    本文链接:https://www.haomeiwen.com/subject/rjyqrctx.html