我尝试在JAVA中执行以下print语句,但是我得到的输出是意外的。输出混乱。
public class AsyncTestClass {
public static void main(String[] args) {
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
System.err.println("Error");
System.out.println("6");
System.out.println("7");
System.out.println("8");
System.out.println("9");
System.out.println("10");
}
}
首先运行输出:
1
Error
2
3
4
5
6
7
8
9
10
第二次运行输出:
1
2
3
4
5
Error
6
7
8
9
10
第三次输出:
1
Error
2
3
4
5
6
7
8
9
10
为什么我为相同的代码获取不同的输出? 谢谢
答案 0 :(得分:1)
答案 1 :(得分:1)
它们是不同的流,并在不同的时间刷新。
如果你把
System.out.flush();
System.err.flush();
在您的代码中,它将按预期工作。