2013-07-12 12 views

risposta

22

E 'una sequenza di escape ottale, come elencato nella section 3.10.6 della JLS. Così, per esempio:

String x = "\16"; 

è equivalente a:

String x = "\u000E"; 

(come ottale 16 = Hex E.)

Così \1 noi U + 0001, il "inizio della voce" carattere.

Octal sequenze di escape vengono raramente utilizzati in Java nella mia esperienza, e io personalmente li evitano, se possibile. Quando voglio specificare un carattere usando una sequenza numerica di escape, io uso sempre \uxxxx.

+0

Java è una di quelle lingue che ti fanno giurare copiosamente quando si colpisce gli insetti "accessorio" che ha. Sapevi che Java interpreta gli escape di caratteri come caratteri * letterali * nel codice sorgente? Bene, questo non è un problema finché non provi a sfuggire al ritorno a capo ... quindi Java pensa che hai bloccato una nuova riga nel codice sorgente quando non ne volevi uno. –

+1

@PP .: Dipende da quale escape di carattere intendi. Ad esempio, un commento di '// This \ n is okay 'va bene, ma' // This \ u000a is not' non verrà compilato. –

+0

La seconda riga di codice non viene compilata (almeno sulla mia macchina): * "string letteral non è chiuso correttamente con una virgola doppia" *. – sp00m

2

in Java Essa segue valore

\u0001 
Problemi correlati