JavaRush /Blog Java /Random-FR /10 questions les plus posées sur les chaînes en Java
ext4
Niveau 20

10 questions les plus posées sur les chaînes en Java

Publié dans le groupe Random-FR

Les 10 questions les plus posées sur les chaînes en Java sont mentionnées ici

[Français] 10 questions les plus posées sur les chaînes en Java - 1
  1. Comment comparer des chaînes ? Que faut-il utiliser : " ==" ou equals()?

    En bref, " ==" compare les références aux chaînes, mais equals()compare les valeurs contenues dans ces chaînes. Si vous ne voulez pas vérifier que deux chaînes sont le même objet, vous devez utiliser equals().

    Ce serait également une bonne idée de connaître le concept de pool de chaînes .

  2. Pourquoi char[]les chaînes ( String) sont-elles préférées pour protéger les informations sensibles ?

    Les chaînes sont immuables . Cela signifie qu'une fois qu'une chaîne est créée, elle ne sera pas modifiée tant que le ramasse-miettes ne sera pas exécuté. Dans le cas d’un tableau, il est bien évident que l’on peut modifier ses éléments. De cette façon, les informations sensibles (telles qu'un mot de passe) ne seront stockées en texte clair nulle part dans le programme.

  3. Pouvons-nous passer des chaînes en paramètre lors de l’utilisation d’une instruction switch ?

    Oui, à partir de la version 7 du JDK. Auparavant, dans la version 6, cela n'était pas possible.

    
    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Comment convertir une chaîne en valeur entière ?

    
    int n = Integer.parseInt("10");

    Il en va de même pour les autres types primitifs en Java.

  5. Comment diviser une chaîne en lignes délimitées par des espaces ?

    Le moyen le plus simple consiste à utiliser des expressions régulières. " \s" remplace les caractères d'espacement tels que " ", " \t", " \r", " \n".

    
    String[] strArray = aString.split("\\s+");
  6. < Que fait réellement la méthode substring()?

    Dans JDK 6, la méthode substring()affichait une partie des caractères d'une chaîne existante, mais ne créait pas d'instance distincte de la chaîne. Pour créer une nouvelle chaîne, représentée sous la forme d'un tableau de caractères, vous pouvez ajouter une chaîne vide, par exemple, comme ceci :

    
    str.substring(m, n) + ""

    Le résultat est un tableau de caractères, qui constitue notre nouvelle chaîne. Cette approche peut parfois réduire le temps d'exécution du code, car le garbage collector peut détruire les grandes chaînes inutilisées et stocker uniquement les sous-chaînes.

    Dans Oracle JDK 7, la méthode substring()crée un nouveau tableau de caractères sans en utiliser un existant. Vous pouvez également jeter un œil au diagramme représentant la différence entre les méthodes substring() dans JDK 6 et JDK 7 .

  7. Chaîne contre StringBuilder contre StringBuffer

    Stringvs StringBuilder: StringBuildermutable, ce qui signifie que nous pouvons modifier son contenu après la création de l'objet.

    StringBuildervs StringBuffer: StringBuffersynchronisé, ce qui signifie qu'il fonctionne correctement lorsqu'il est utilisé à partir de plusieurs threads en même temps, mais est plus lent que StringBuilder.

  8. Comment répéter une ligne plusieurs fois ?

    En Python, on peut simplement multiplier une chaîne par un nombre net elle se répétera ensuite n fois. En Java, nous pouvons utiliser une méthode repeat()de la StringUtilsclasse de la bibliothèque Apache Commons Lang.

    
    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Comment convertir une chaîne en date ?

    
    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. Comment compter le nombre d’occurrences d’un certain caractère dans une chaîne ?

    Utilisez une classe StringUtilsde la bibliothèque Apache Commons Lang.

    
    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION