Java - 将转义字符串转换为字符

时间:2013-02-14 02:33:03

标签: java string unicode char

编辑:错!下面的代码工作,在我的实例中,字符串被读作“\ n”,它给我2个字符而不是一个。我很傻。

我正在尝试将一个孤立的单个字符从字符串转换为char。我无法将转义字符转换为单个字符,因为它将\视为单独的字符。

String str = "\n"; 
char charVal = str.charAt(0); // Gives charVal as \

是否有一个函数将转义序列解释为单个char而不是单独的char?

我试图在没有Apache commons包的情况下这样做。

谢谢!

2 个答案:

答案 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);

给出新行