web-dev-qa-db-fra.com

En Java, dois-je échapper un guillemet simple (') dans String (entre guillemets doubles)?

En Java, \' désigne un seul guillemet (guillemet simple) et \" désigne un double guillemet (guillemet double).

Alors, String s = "I\'m a human."; fonctionne bien.

Toutefois, String s = "I'm a human." ne fait pas non plus d'erreurs de compilation.

Également, char c = '\"'; fonctionne, mais char c = '"'; fonctionne également.

En Java, lequel est préférable d'utiliser? En HTML ou CSS, des choses comme style="font-family:'Arial Unicode MS';" le sont plus souvent (et pour de telles balises, je pense que c'est la seule façon d'utiliser des guillemets), mais en Java, j'ai généralement vu des gens utiliser des caractères d'échappement comme "I\'m a human."

29
Naetmul

Vous n'avez pas besoin d'échapper au ' caractère dans une chaîne (enveloppé dans "), et vous n'avez pas à échapper à un " caractère dans un caractère (enveloppé dans ').

43
Cory Kendall

Il est préférable de n'échapper aux guillemets que lorsque vous en avez besoin - si vous pouvez vous échapper sans y échapper, alors faites-le!

Les seules fois où vous devez vous échapper sont lorsque vous essayez de mettre " à l'intérieur d'une chaîne, ou ' dans un caractère:

String quotes = "He said \"Hello, World!\"";
char quote = '\'';
13
Jamie