web-dev-qa-db-fra.com

Différence entre "char" et "String" en Java

Je lis un livre pour Java que j'essaie d'apprendre et j'ai une question. Je ne comprends pas quelle est la différence entre le type de variable char et String. Par exemple, il existe une différence entre int et short, les octets de la mémoire et la zone de nombres dont ils disposent.

Mais quelle est la différence entre char et String? sauf que char use (') et "String" (").

PS: C'est mon premier "vrai" langage de programmation. (À l'école, j'ai appris une fausse langue pour la leçon de programmation.)

47
Android Girl

char est un caractère. String est zéro ou plusieurs caractères.

char est un type primitif. String est une classe.

char c = 'a';
String s = "Hi!";

Notez les guillemets simples pour char et les guillemets doubles pour String

114
user207421

char signifie un seul caractère. En Java, c'est UTF-16 caractère .String peut être considéré comme un tableau de caractères.

Alors, imaginez "Android" chaîne. Il se compose de 'A', 'n', 'd', 'r', 'o', 'i' et à nouveau 'd' caractères.

char est un type primitif en Java et String est une classe qui encapsule un tableau de chars.

18
Vladimir Ivanov

En termes simples, char est une lettre, alors que String est un ensemble de lettres (ou de Word). La distinction entre ' et " est importante, car 'Test' est illégal en Java.

char est un type primitif, String est une classe

6
Andreas Wong

Je vous recommande de lire la documentation du didacticiel Java hébergée sur le site Web d'Oracle dès que vous doutez de quoi que ce soit lié à Java.

Vous pouvez avoir une compréhension claire des concepts en parcourant les tutoriels suivants:

1
sultan.of.swing

Un caractère contient un seul caractère, tandis qu'une chaîne contient beaucoup de caractères. 

0
Matthias

char est un type primitif pouvant contenir un seul caractère. 

String est plutôt un type de référence, donc un objet à part entière. Il peut contenir n'importe quel nombre de caractères .__ (en interne, les objets String les sauvegardent dans un tableau char).

Les types primitifs en Java présentent des avantages en termes de vitesse et d’empreinte mémoire. Mais ce ne sont pas de vrais objets, alors vous perdez certaines possibilités. Ils ne peuvent pas être utilisés comme paramètres de type générique, ils ne peuvent pas avoir de méthodes ou de champs, etc.

Cependant, chaque type de primitive Java a un objet complet correspondant, et la conversion entre eux est effectuée automatiquement par le compilateur (c'est ce que l'on appelle la sélection automatique).

Vous pouvez par exemple faire:

int i=12;
Integer l=i;

Le compilateur se charge de convertir la int en une Integer.

0
Andrea Parodi

les caractères n'ont qu'un seul caractère (lettres, chiffres, ...)

char example = 'x';

chaîne peut avoir zéro caractères ou autant que vous le souhaitez

String example = "Here you can have anything";
0
Martin54

Char est un alphabet unique où String est une séquence de caractères ..__Car est un type de données primitif, où String est une classe.

0
Tanuj Verma