2013-05-21 15 views
24

In Java, \' indica un carattere di virgoletta singola (virgoletta singola) e \" indica un carattere di virgoletta doppia (virgoletta doppia).In Java, dovrei sfuggire una virgoletta singola (') in String (double quoted)?

Quindi, String s = "I\'m a human."; funziona bene.

Tuttavia, String s = "I'm a human." non esegue alcun errore di compilazione.

Allo stesso modo, char c = '\"'; opere, ma funziona anche char c = '"';.

In Java, che è meglio usare? In HTML o CSS, le cose come style="font-family:'Arial Unicode MS';" sono più spesso (e per tali tag, credo che sia l'unico modo per utilizzare le virgolette), ma in Java, di solito visto la gente usa caratteri di escape come "I\'m a human."

+2

non vorrei usare barra meno che non sia giustificata. Quindi "Io sono un umano." "È ok. – vikingsteve

+0

Non sono abbastanza sicuro delle virgolette singole nelle stringhe, dal momento che non ne consegue l'uso l'una sull'altra. Ma io consiglio di sfuggire alle virgolette doppie nei personaggi perché a volte in seguito decidi di cambiare ciò che vuoi fare e cambiare la tua variabile di carattere in stringa. cioè quando scopri che vuoi sostituire più di un personaggio con 'String.replace()' –

+1

Hai provato a testarlo? –

risposta

32

Non lo sai è necessario sfuggire al carattere ' in una stringa (avvolto in ") e non è necessario sfuggire a un carattere " in un carattere (inserito in ').

+0

ma puoi farlo ed è legale, è quello che stai dicendo, giusto? – Mishax

+0

@Mishax è abbastanza ovvio. L'unico uso del carattere di escape è quello di ** dire ** al compilatore di non trattare il carattere ('/ ") come carattere di chiusura. – Bateman

+1

@Bateman Non sono d'accordo con la tua affermazione - il carattere di escape può essere usato in un letterale String con \ n per indicare una nuova riga o una \ t per una scheda.Il mio suggerimento a Cory Kendall era che la sua risposta non usasse termini formali come "legale ma facoltativo" che sarebbe stato più preciso. – Mishax

10

È consigliabile solo sfuggire alle virgolette quando è necessario - se riesci a scappare senza fuggire, fallo!

Le uniche volte che si dovrebbe bisogno di fuggire vengono quando si cerca di mettere " all'interno di una stringa, o ' in un personaggio:

String quotes = "He said \"Hello, World!\""; 
char quote = '\''; 
+15

Umm ... dove si trova Dite che questa è la "migliore pratica" o state semplicemente ri-etichettando le vostre preferenze personali come "migliori pratiche"? –

Problemi correlati