Existe uma diferença entre aspas simples e duplas em Java?
101
Use aspas simples para char
s literais , aspas duplas para String
s literais , assim:
char c = 'a';
String s = "hello";
Eles não podem ser usados de outra forma (como em Python, por exemplo).
int
em tais contextos. Portanto, não precisa ser assimchar
. Merece alguns votos negativos ... simplista.Um char é um único caractere UTF-16, que é uma letra, um dígito, um sinal de pontuação, uma tabulação, um espaço ou algo semelhante.
Um literal de char é um único caractere entre aspas simples como este
ou uma sequência de escape, ou mesmo uma sequência de escape unicode:
É importante notar que as sequências de escape Unicode são processadas muito cedo durante a compilação e, portanto, usar '\ u00A' levará a um erro do compilador. Para símbolos especiais, é melhor usar sequências de escape, ou seja, '\ n' em vez de '\ u00A'.
Sendo aspas duplas
String
, você deve usar uma "seqüência de escape de aspas duplas" (\"
) dentro das strings onde, de outra forma, terminaria a string.Por exemplo:
Não é necessário escapar as aspas duplas entre aspas simples.
A seguinte linha é válida em Java:
fonte
Vamos considerar estas linhas de código (Java):
1) A primeira linha é a concatenação de
H
eA
isso resultará emHA
(literal de string)2) Em segundo lugar, estamos adicionando os valores de dois caracteres que de acordo com a Tabela ASCII
H
= 72 ea
= 97 isso significa que estamos adicionando72+97
como('H'+'a')
.3) Vamos considerar outro caso em que teríamos:
Neste caso, estamos lidando com a concatenação de String
A
e charN
que resultará emAN
.fonte
Aspas simples indicam caracteres e aspas duplas indicam string.
char c = 'c';
'c' -----> c é um caractere
String s = "stackoverflow";
"stackoverflow" ------> stackoverflow é uma string (ou seja, coleção de caracteres)
fonte