调用print方法传入一个对象打印输出时,会默认调用对象的toString方法,若对象没有覆写toString方法,则默认调用Object的toString方法。
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
Class.getName方法以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称
- 如果此类对象表示的是非数组类型的引用类型,则返回该类的二进制名称
- 如果此类对象表示一个基本类型或 void,则返回的名字是一个与该基本类型或 void 所对应的 Java 语言关键字相同的 String
- 如果此类对象表示一个数组类,则返回’[’ +元素类型名
元素类型表
| Element Type | Encoding |
|---|---|
| boolean | Z |
| byte | B |
| char | C |
| class or interface | L< classname > |
| double | D |
| float | F |
| int | I |
| long | J |
| short | S |
类或接口名 classname 是上面指定类的二进制名称、
示例:
String.class.getName()
returns “java.lang.String”
byte.class.getName()
returns “byte”
(new Object[3]).getClass().getName()
returns “[Ljava.lang.Object;”
(new int[3][4][5][6][7][8][9]).getClass().getName()
returns “[[[[[[[I”
本文详细介绍了在Java中如何使用print方法打印对象,并解释了当调用print方法时,其内部如何通过toString方法来实现对象信息的展示。文章还深入探讨了Class.getName方法的工作原理及应用场景。
2241

被折叠的 条评论
为什么被折叠?



