Ce que vous devez savoir sur l'utilisation de chaînes en Java

Ce que vous devez savoir sur l'utilisation de chaînes en Java

Une fois que vous aurez commencé à apprendre Java, la classe String captera votre attention, grâce à ses propriétés uniques.





Vous pouvez créer et manipuler des chaînes en Java plus facilement que dans d'autres langages. C'est parce que la classe String offre diverses fonctionnalités.





Sur la base de ces fonctionnalités, il existe plusieurs méthodes pour générer et modifier des chaînes en fonction de vos préférences et de vos besoins. De même, beaucoup dépendra de votre application et de l'endroit où les chaînes doivent être utilisées.





En quoi les chaînes Java sont-elles différentes ?

Si vous avez déjà travaillé avec le langage C, vous savez que les chaînes en C sont un tableau de caractères (personnages). D'autre part, les chaînes Java sont immuables et contiennent des caractères Unicode.

impossible de supprimer le fichier en cours d'utilisation

L'une des principales caractéristiques qui rendent les chaînes en Java uniques est la concaténation. Utilisez simplement l'opérateur d'addition + pour joindre deux chaînes ou plus. C'est quelque chose que vous ne pouvez pas faire avec d'autres objets Java, tels que Point ou Cercle .



De plus, comme mentionné précédemment, les chaînes Java sont immuables, c'est-à-dire que vous ne pouvez pas les modifier. Par exemple, des méthodes comme en majuscule() et en minuscule () générer une chaîne entièrement nouvelle, au lieu d'apporter des modifications au contenu de la chaîne existante. Maintenant, votre code renverra cette chaîne nouvellement générée.

Connexes : Comment manipuler du texte en PHP avec ces fonctions





Un autre domaine dans lequel les chaînes sont différentes est l'utilisation de caractères nuls pour terminer des chaînes dans des langages comme le C. En Java, les chaînes sont des objets pris en charge par des tableaux de caractères. Si vous cherchez à lire le contenu de votre chaîne de la manière dont les tableaux de caractères les représentent, en utilisant le toCharArray() la méthode fera l'affaire.

La comparaison de chaînes en Java est également plus pratique que dans d'autres langages de programmation. Plutôt que d'écrire un long bloc de code pour comparer des chaînes, vous pouvez utiliser le équivaut à() méthode pour comparer deux ou plusieurs chaînes utilisées dans n'importe quel programme. Ceci est principalement dû au fait qu'à Java, le équivaut à La méthode est remplacée par la classe String, ce qui fait de la comparaison de chaînes un jeu d'enfant.





Sur une note similaire, la recherche dans les sous-chaînes en Java est également sans tracas. En utilisant des expressions régulières ou des méthodes comme dernierIndexOf() et Indice de(), vous pouvez rechercher des segments de chaînes et renvoyer des valeurs une fois qu'une correspondance est identifiée. Vous pouvez également utiliser des expressions régulières pour couper et diviser différentes chaînes et les utiliser individuellement pour un large éventail d'utilisations dans n'importe quel programme.

Comment les chaînes sont-elles stockées dans la mémoire ?

Maintenant que vous savez ce qui rend les chaînes Java différentes et bénéfiques, explorons la classe String. Si vous connaissez une chose ou deux sur la gestion de la mémoire en Java, alors vous devez avoir traité ses deux entités clés : le tas et la pile.

La pile est utilisée pour exécuter des processus et des opérations après avoir été appelée par un programme Java, tandis que le tas stocke le contenu, nécessaire pour exécuter et exécuter le code efficacement. Alors, en quoi la gestion de la mémoire est-elle pertinente dans le cas des chaînes ?

C'est parce que la classe String et les littéraux de chaîne en Java reçoivent un traitement différent. Cela indique que les littéraux de chaîne se voient attribuer un espace de stockage unique dans la mémoire du tas, appelé pool de constantes de chaîne. Par conséquent, chaque fois que vous utilisez des littéraux de chaîne pour créer des objets de chaîne en Java, le pool de constantes de chaîne les stocke.

Au contraire, lorsque vous utilisez le Nouveau mot-clé pour créer des objets de chaîne, Java les traitera comme n'importe quel autre objet et les enverra au tas pour le stockage.

Exemple de littéraux de chaîne

Maintenant que vous en savez assez sur les objets chaîne, examinons un exemple de littéraux chaîne :


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Ici, le littéral de chaîne a créé l'objet String avec le contenu Hello World de MUO. Java enverra cet objet au String Constant Pool.

Utilisation du nouveau mot-clé

Vous pouvez également utiliser le Nouveau mot-clé pour générer des objets String.

L'objet chaîne de la chaîne himuo avec le contenu Hello World de MUO a été généré par un littéral de chaîne et sera envoyé au String Constant Pool. De même, les objets chaîne peuvent également être créés à l'aide du mot-clé new comme suit :


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

L'exemple ci-dessus utilise le Nouveau mot-clé pour créer un objet chaîne. Comme expliqué précédemment, ils sont envoyés au tas, où ils sont stockés avec d'autres variables et objets en attente d'être exécutés par le programme.

À présent, vous devez être curieux de connaître le String Constant Pool, et à juste titre. Il alloue de l'espace de pool aux objets en fonction du contenu de l'objet chaîne. Une fois que le String Constant Pool a reçu des objets, il les vérifie pour vérifier si deux objets contiennent exactement le même contenu.

Deux objets chaîne peuvent-ils stocker le même contenu ?

Lorsqu'un littéral de chaîne est utilisé pour créer un nouvel objet, Java Virtual Machine (JVM) examine le contenu de l'objet et évalue s'il existe déjà dans le pool. Lorsqu'un objet contient du contenu déjà présent dans le pool, la référence de l'objet est renvoyée sans créer le nouvel objet. Si vous devez créer le nouvel objet, vous devez vous assurer que le contenu est distinct et unique.

Cependant, si vous utilisez le Nouveau mot-clé pour créer une nouvelle chaîne, elle sera traitée différemment. Lorsque vous utilisez le Nouveau mot-clé pour créer une nouvelle chaîne, elle sera générée, qu'elle contienne ou non le même contenu que la chaîne existante.

Cela indique que deux objets chaînes existants stockés dans la mémoire de tas sont autorisés à impliquer le même contenu ; ceci est différent des objets chaîne stockés dans le pool de constantes de chaîne. Vous pouvez également le prouver avec l'opérateur == ; il retourne vrai si deux objets avec la même adresse physique sont comparés.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Vous pouvez maintenant comprendre facilement les chaînes en Java

Dans cet article, vous avez appris en quoi les chaînes en Java sont différentes, les manières d'utiliser les chaînes en Java, la gestion de la mémoire des chaînes en Java et d'autres détails importants sur le fonctionnement des chaînes. Pour tester votre compréhension, pourquoi ne pas écrire un programme Java pour concaténer deux chaînes ?

Partager Partager Tweeter E-mail Apprendre Python ? Voici comment manipuler des chaînes

L'utilisation et la manipulation de chaînes en Python peuvent sembler difficiles, mais elles sont trompeusement simples.

Lire la suite
Rubriques connexes
  • La programmation
  • Java
A propos de l'auteur Usman Ghani(4 articles publiés)

Usman est un spécialiste du marketing de contenu qui a aidé plusieurs entreprises à croître de manière organique sur les plateformes numériques. Il aime à la fois la programmation et l'écriture, ce qui signifie que l'écriture technique est quelque chose qu'il aime beaucoup. Lorsqu'il ne travaille pas, Usman aime passer du temps à regarder des émissions de télévision, à suivre le cricket et à lire sur l'analyse de données.

Plus de Usman Ghani

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner