Quelle est la différence entre un tampon de chaîne et un tokenizer de chaîne?


Réponse 1:

StringBuffer en java est utilisé pour créer des objets String modifiables. Cela signifie que nous pouvons utiliser StringBuffer pour ajouter, inverser, remplacer, concaténer et manipuler des chaînes ou des séquences de caractères. Les méthodes correspondantes sous la classe StringBuffer sont respectivement créées pour adhérer à ces fonctions.

StringBuffer sb = new StringBuffer ("Bonjour");

sb.append ("Java"); // maintenant la chaîne d'origine est modifiée

System.out.println (sb); // affiche Hello Java

Un objet StringTokenizer conserve en interne une position actuelle dans la chaîne à tokeniser. Un jeton est renvoyé en prenant une sous-chaîne de la chaîne utilisée pour créer l'objet StringTokenizer.

StringTokenizer st1 =

nouveau StringTokenizer ("Bonjour les geeks comment allez-vous", "");

while (st1.hasMoreTokens ())

System.out.println (st1.nextToken ());

Imprime comme ci-dessous

Bonjour

Geeks

Comment

sont

vous

Les deux ont un cas d'utilisation différent et sont mis en œuvre à des fins différentes. le tampon consiste à manipuler et le tokenizer à décomposer la chaîne en tableau en fonction du délimiteur.


Réponse 2:

en ce qui concerne le tampon de chaîne, il se passe comme ça

  • Le tampon de chaîne est une classe qui a certaines caractéristiques en tant que classe de chaîne, sauf immuable.En utilisant le tampon de chaîne, nous pouvons également gérer le bundle (ou) définir (ou) la séquence de caractères.Pour la classe de tampon de chaîne, nous pouvons créer un objet, d'une seule manière en l'utilisation d'un nouveau tampon operator.string prend en charge la synchronisation à 100%, ce qui signifie que chaque méthode (ou) membre à l'intérieur du tampon de chaîne prend en charge la sécurité ou la synchronisation des threads. Cela signifie qu'à la fois, un seul thread peut accéder à l'objet de tampon de chaîne.Si il autorise plusieurs threads à la fois, fois que nous aurons la corruption de données.

exemple simple de tampon de chaîne

 public class Append1
                  {
                      public static void main (String [] args)
                      {
                          StringBuffer sb = new StringBuffer ("amruth");
                          System.out.println ("la chaîne est:" + sb);
                          sb.append ("hoysal");
                          System.out.println ("Après l'ajout:" + sb);
                          String str = new String ("SDJ");
                          System.out.println ("Chaîne donnée:" + str);
                          str.concat ("JAVA");
                          System.out.println ("After Concat:" + str);
                      }
                  }

production:

la chaîne donnée est Amruth

après avoir ajouté AmruthHoysal.

en ce qui concerne les cas de fonctionnalité Tokenizer de chaîne est la suivante

  • tring est une classe pour manipuler des objets chaîne en avancé. Il fait partie de la version jdk 1.5.Il est disponible sous le package java.util.Le Tokenizer de chaîne est principalement utilisé pour fractionner la chaîne donnée avec un délimiteur spécifié.Il est principalement utilisé à des fins de fractionnement uniquement.Il est identique à la méthode de fractionnement dans la classe de chaîne , mais il donne une sortie basée sur la valeur d'index.Mais en tant que développeur java, nous ne devrions pas travailler sur la base de la valeur d'index et de l'emplacement de la mémoire.Pour surmonter l'inconvénient de la méthode de fractionnement, les gens du soleil ont proposé une méthode appelée chaîne Tokenizer.In string Tokenizer hasMoreElements () renvoie une valeur booléenne (c'est-à-dire vrai / faux). Il retournera vrai s'il trouve le délimiteur (;) entre stringIn this nextElement () retournera une valeur de délimiteur avant que le contenu ne soit le même que la méthode group () à l'intérieur de la classe correspondante. Dans la classe StringTokenizer ci-dessus, vous pouvez également utiliser hasMoreTokens () et nextToken () pour lire les éléments de StringTokenizer. comme ci-dessous while (st. hasMoreTokens ()) {System.out.println (st.nextToken ()); }
package com.sdj.pack1;
             
              import java.util.StringTokenizer;
                  
              public class TokenizerEx
              {
                 public static void main (String [] args)
                 {
                    StringTokenizer st = nouveau StringTokenizer ("abc; pqr; xyz; 123; 567");
                    System.out.println (st.countTokens ());
                 }
              }