\n 和 System.lineSeparator(); 之间的区别?

Tob*_*olb 7 java

我的教授一直告诉我们她希望我们使用System.lineSeparator();来创建一个空的新行,她没有说明任何原因,但基本上说它更干净。有什么区别,我应该以所描述的方式使用它。

System.out.println("[your message]\n")
Run Code Online (Sandbox Code Playgroud)

System.out.println("[your message]");
System.lineSeparator();
Run Code Online (Sandbox Code Playgroud)

Din*_*dan 8

\n角色是被称为“新线”,通常是单个字符。有时为了更准确,它可能被称为“换行”。行分隔符因计算机而异,因操作系统而异。您将在 Windows 和 Unix 上获得不同的行分隔符。

如果你运行这个:System.getProperty("line.separator")它将返回特定于你的操作系统的行分隔符。在 Windows 上它会返回\r\n,在 Unix 上它会返回\n.

我希望这对你来说已经足够清楚了。


And*_*ner 6

我的教授一直告诉我们她希望我们使用 System.lineSeparator(); 来创建一条新的线路

你真的确定她是这么说的吗?因为调用System.lineSeparator();什么都不做:它返回一个字符串,它被简单地丢弃。

如果要插入新行(在 中System.out),请使用:

System.out.println();
Run Code Online (Sandbox Code Playgroud)

  • 我认为老师想说“*使用方法的结果*”,OP只是误解了。比如 `String newline = System.lineSeparator();` 然后 `String text = "hello" + newline + "test";` 等等。 (2认同)