在回答其中一个问题时,我遇到了这个有趣的情况。
如果我有如下字符串,Netbeans不会抱怨它是illegal start of expression
。
String temp="\19825655.";
一旦我删除'1',它就会抱怨它是illegal start of expression
。
String temp="\9825655.";
无法弄清楚这种行为的原因。任何意见都将不胜感激。
观察:似乎\9
和\8
具有特殊含义。仅适用于\9
和\8
我收到illegal start of expression
。所有其他组合都没有抱怨。
答案 0 :(得分:13)
\1
是八进制转义码。请在Escape Sequences for Character and String Literals中的JLS中查看。
答案 1 :(得分:1)
是的,这意味着组合\1
是一个转义序列。但是,据我所知,它并不是一个已知的逃逸序列。
编辑:好吧,这是一个八进制号码,有趣的是 - \x Escape in Java?