4

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

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

String temp="\19825655.";

一旦我删除“1”,它就会抱怨它是一个illegal start of expression.

String temp="\9825655.";

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

观察:似乎\9\8具有特殊意义。只为\9\8我得到illegal start of expression。它没有抱怨的所有其他组合。

4

2 回答 2

13

\1是八进制转义码。在字符和字符串文字的转义序列中的 JLS 中查看它。

于 2012-09-21T15:56:01.333 回答
1

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

编辑:好的,它是一个八进制数,有趣 - Java 中的 \x Escape?

于 2012-09-21T15:55:02.373 回答