toString是如何被System.out.println调用的,
分享于 点击 13814 次 点评:1
toString是如何被System.out.println调用的,
代码追踪轨迹:
System.out.println()会调用PrintStream的println方法,该方法调用print方法,然后单独输出一行空格。
在print方法里,会调用String.valueOf(object)),此时的valueOf为:
public static String valueOf(Object value) {
return value != null ? value.toString() : "null";
}
判断value是否为空,若不为空则输出toString方法。
结论:System.out.println()会自动调用对象的toString方法。若对象重写了toString,则无需再System.out.println()中额外调用,例如System.out.println(o.toString)。
相关文章
- 暂无相关文章
用户点评