编辑:错!下面的代码工作,在我的实例中,字符串被读作“\ n”,它给我2个字符而不是一个。我很傻。
我正在尝试将一个孤立的单个字符从字符串转换为char。我无法将转义字符转换为单个字符,因为它将\视为单独的字符。
String str = "\n";
char charVal = str.charAt(0); // Gives charVal as \
是否有一个函数将转义序列解释为单个char而不是单独的char?
我试图在没有Apache commons包的情况下这样做。
谢谢!
答案 0 :(得分:3)
回答更新的问题:您的结果会以某种方式变得混乱。 str
只有一个字符,因此charVal
将是该字符,即换行符。检查输出,如果仍然不符合您的预期,请给我们SSCCE演示您的问题。
原始回答: temp
不是str
,而str.charAt(0)
肯定不会给\
作为结果。 str
是一个单字符字符串,所以你只能输出一个字符,这是一个换行符。可能,您的代码中还有更多内容,例如:
String temp = "\\n";
在这种情况下,你有一个双字符串,第一个是反斜杠。
答案 1 :(得分:2)
无法重现
String str = "\n";
char charVal = str.charAt(0);
System.out.println(charVal);
给出新行