4

質問の1つに答えている間、私はこの興味深い状況に出くわしました。

次のような文字列がある場合、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

\18進数のエスケープコードです。文字および文字列リテラルのエスケープシーケンスのJLSで確認してください。

于 2012-09-21T15:56:01.333 に答える
1

そうです、これが意味するのは、組み合わせ\1がエスケープシーケンスであるということです。ただし、私の知る限り、これは既知のエスケープシーケンスではありません。

編集:OK、それは8進数です、興味深いです- \ x Javaでエスケープしますか?

于 2012-09-21T15:55:02.373 に答える