我刚刚写了这段代码:
public class T
{
public String toString()
{
System.out.println("new line");
return " "+4;
}
}
和:
public static void main(String[] args)
{
T t = new T();
System.out.println("11"+t);
}
虽然我预计它会打印
11 new line
4
它实际上打印了:
new line
11 4
这是为什么呢? 这个打印的顺序是什么?其背后的逻辑是什么?
谢谢!
最佳答案
对 toString 的调用发生在“11”打印之前。
原因(就像@Tom所说),为了连接字符串,它必须首先创建所有的片段,然后再连接。
只有在字符串完全准备好之后 - 它才会显示到您的屏幕上。
关于java - 在 println 中调用 println 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42542367/