¿Hay alguna diferencia entre las comillas simples y dobles en Java?
101
Use comillas simples para char
s literales , comillas dobles para String
s literales , así:
char c = 'a';
String s = "hello";
No se pueden usar de otra manera (como en Python, por ejemplo).
int
en tales contextos. Entonces no tiene por qué ser asíchar
. Merecen algunos votos negativos ... simplista.Un char es un solo carácter UTF-16, es decir, una letra, un dígito, un signo de puntuación, una tabulación, un espacio o algo similar.
Un literal char es un carácter único encerrado entre comillas simples como esta
o una secuencia de escape, o incluso una secuencia de escape Unicode:
Vale la pena señalar que las secuencias de escape Unicode se procesan muy temprano durante la compilación y, por lo tanto, el uso de '\ u00A' conducirá a un error del compilador. Para símbolos especiales, es mejor usar secuencias de escape, es decir, '\ n' en lugar de '\ u00A'.
Siendo las comillas dobles para
String
, debe utilizar una "secuencia de escape de comillas dobles" (\"
) dentro de las cadenas donde de otra manera terminaría la cadena.Por ejemplo:
No es necesario escapar de las comillas dobles dentro de las comillas simples.
La siguiente línea es legal en Java:
fuente
Consideremos estas líneas de códigos (Java):
1) La primera línea es la concatenación de
H
yA
eso dará como resultadoHA
(String literal)2) En segundo lugar, estamos agregando los valores de dos caracteres que de acuerdo con la tabla ASCII
H
= 72 ya
= 97, eso significa que estamos agregando72+97
como('H'+'a')
.3) Consideremos otro caso en el que tendríamos:
En este caso, estamos tratando con la concatenación de String
A
y charN
que dará como resultadoAN
.fuente
La comilla simple indica carácter y la comilla doble indica cadena.
char c = 'c';
'c' -----> c es un carácter
String s = "stackoverflow";
"stackoverflow" ------> stackoverflow es una cadena (es decir, colección si caracteres)
fuente