用于在Java中打印新行的%n和\n之间的差异

Ash*_*nan 5 java

Java的文档指定使用%n而不是\n作为换行符.

根据Oracle JavaSE Number文档

适合运行应用程序的平台的新行字符.您应该始终使用%n,而不是\n.

两者之间的显着差异是什么?

Abi*_*san 5

%n可以在各种平台之间移植,从中发布的值%n将适合于底层平台,其中所发布的值\n对于所有的平台都是相同的.

\n对于基于Unix的系统,它是正确的换行符,其他系统可能使用不同的字符来表示行的结尾.Windows系统使用\r\n,以及早期使用的MacOS系统\r.

  • 我想说的恰恰是相反的-使用%n时发出的字符取决于平台(它们因平台而异),而\ n总是会发射U + 000A。现在可能是您*希望*您的代码依赖于平台,因此它将为您的平台发出惯用的换行符-但我认为说它与平台无关是不公平的。 (2认同)
  • 当有人告诉我某件事是“平台无关”时,我不会这么想——这表明它的行为是相同的*无论*平台。我认为如果您删除第一段,您的答案可能会更好。 (2认同)