使用这两个有区别吗?你什么时候用一个而不是另一个?
System.out.println(result);
与
PrintWriter out = new PrintWriter(System.out);
out.println(result);
out.flush();
主要区别在于System.out
是PrintStream
而另一个是PrintWriter
。本质上,PrintStream
应该用于写一个字节流,而PrintWriter
应该用来写一个字符流(因此它处理字符编码等)。
对于大多数用例,没有区别。
System.out
是PrintStream
的一个例子
所以你的问题缩小到PrintStream
vs PrintWriter
PrintStream
打印的所有字符转换为字节。 (Syso直接写入系统输出/控制台)PrintWriter
类应该用于需要编写字符而不是字节的情况。是的,有一点点差异。 out.println()
很短,用于JSP,而PrintWriter
用于servlet。 out.println()
也源自PrintWriter。