String非法转义字符

时间:2012-09-21 15:52:27

标签: java octal

在回答其中一个问题时,我遇到了这个有趣的情况。

如果我有如下字符串,Netbeans不会抱怨它是illegal start of expression

String temp="\19825655.";

一旦我删除'1',它就会抱怨它是illegal start of expression

String temp="\9825655.";

无法弄清楚这种行为的原因。任何意见都将不胜感激。

观察:似乎\9\8具有特殊含义。仅适用于\9\8我收到illegal start of expression。所有其他组合都没有抱怨。

2 个答案:

答案 0 :(得分:13)

\1是八进制转义码。请在Escape Sequences for Character and String Literals中的JLS中查看。

答案 1 :(得分:1)

是的,这意味着组合\1是一个转义序列。但是,据我所知,它并不是一个已知的逃逸序列。

编辑:好吧,这是一个八进制号码,有趣的是 - \x Escape in Java?