Java 如何在char变量中存储换行符?

Java 如何在char变量中存储换行符?,java,char,newline,Java,Char,Newline,我想使用以下行将换行符存储在Java中的char变量中: char newline = "/n"; 我的编译器返回以下内容: 错误:不兼容的数据类型:无法将字符串转换为字符 如何修复或解决此问题?使用单引号。i、 e char newline = '\n'; 话虽如此,Java有一个用于存储当前操作系统换行符的系统属性system.getPropertyline.separator;,返回一个字符串。我认为您使用的转义字符不正确。请像这样更换它 String s = "hello "+"\n

我想使用以下行将换行符存储在Java中的char变量中:

char newline = "/n";
我的编译器返回以下内容:

错误:不兼容的数据类型:无法将字符串转换为字符


如何修复或解决此问题?

使用单引号。i、 e

char newline = '\n';

话虽如此,Java有一个用于存储当前操作系统换行符的系统属性system.getPropertyline.separator;,返回一个字符串。

我认为您使用的转义字符不正确。请像这样更换它

String s = "hello "+"\n";
如果有帮助,请告诉我。

您要求为字符分配字符串。那是行不通的。字符串文字用双引号字符表示。字符文字用单引号字符“.”表示。此外,您在字符串中指定了两个字符,而不是一个。'/'是一个字符,“n”是另一个字符。如果您试图指定转义序列 然后您需要使用反斜杠字符,而不是正斜杠:“\n”。

根据Oracle Java

char和String类型的文本可以包含任何Unicode UTF-16 人物。对于字符文本和双引号,始终使用“单引号” 字符串文字的引号

char和string的转义序列如下所示: \b退格、\t制表符、\n换行符、\f换行符、\r回车符、双引号、\'单引号和\\反斜杠

因此,如果换行符的数据类型为char,则使用char newline='\n' 否则,如果换行符是数据类型字符串,则使用字符串换行符=\n

我想补充回答并提到,从Java SE 7开始,可以使用System.lineSeparator检索行分隔符,这意味着您可以编写:

String lineSep = System.lineSeparator();
请记住,与char相比,String类并不是Java中固有的原语,因为它只是标准Java库的一个类


此解决方案最适合在操作系统之间保持一致性,因为并非所有操作系统都在单字节插槽char变量中保留行分隔符。

使用单引号:'\n'。可能需要用反斜杠转义换行符?字符换行符='\n';这表明你没有做过任何研究。首先,您显然不应该将/for用于char,其次,将/for用于转义序列也是错误的。即使你不知道转义序列这个词,搜索行尾字符也很容易。什么是字符串?他问到在char变量中存储换行字符,为什么你还要提到字符串?你忘了提到需要使用反斜杠而不是正斜杠,@Powerlord@LewBloch-True,但另一方面,至少我在代码块中把它放在了正确的方向上。是的,没错,但OP可能需要引起他们的特别注意。lineSeparator是一个字符串而不是一个字符,所以它不起作用