Les chaînes de caractères permettent de stocker n'importe quelle séquence de caractères alphanumériques.

Le type de données String provient en réalité de la classe String, et partant, les chaînes de caractères sont des objets String.

Tous les caractères Unicode, tels que les lettres, les chiffres, les espaces, les signes de ponctuation et tous les autres sont acceptés du moment que l'ensemble est encadré par des guillemets doubles ("...")ou simples ('...').

"Une chaîne de caractères..."

Pour les caractères spéciaux, il existe des séquences d'échappement Unicode permettant de les intégrer dans une chaîne de caractères.

\' // apostrophe
\" // guillemet double

\n // nouvelle ligne
\r // retour chariot
\t // tabulation
\/ // barre oblique
\\ // barre oblique inversée
\f // saut de page

\ooo // octal
\xhh // hexadécimal
\udddd // caractère unicode

"\tL\'île fût submergée par les eaux !\r\n"

La déclaration d'une chaîne de caractères s'effectue en posant le nom de la classe suivie d'un identificateur.

String identificateur;

String texte;

Suite à la déclaration, une affectation à une valeur permet d'initialiser la variable.

identificateur = "Chaîne de caractères...";

String autre_texte = null;
// variable de type String sans référence

texte = "Le sommet de la terre de Johannesbourg a été un échec !";

Les objets String sont inaltérables (ou non-mutables), c'est-à-dire que les chaînes de caractères ne peuvent être modifiées. Lors de la réaffectation d'une valeur, la variable détruit l'ancienne chaîne de caractères et en référence une nouvelle.

String texte = "Le vilain ogre";

texte += " a tout fait capoter !";
// provoque la suppression de "Le vilain ogre"
// texte référence le nouveau littéral
// "Le vilain ogre a tout fait capoter !"

La concaténation des chaînes de caractères s'accomplit au moyen du signe plus (+).

String resultat = "chaîne 1" + "chaîne 2";

resultat += "autre chaîne...";
// resultat = "chaîne 1chaîne 2autre chaîne..."
Sommaire