Les 10 questions les plus posées sur les chaînes en Java sont mentionnées ici
-
Comment comparer des chaînes ? Que faut-il utiliser : "
==
" ouequals()
?En bref, "
==
" compare les références aux chaînes, maisequals()
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 utiliserequals()
.Ce serait également une bonne idée de connaître le concept de pool de chaînes .
-
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.
-
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; }
-
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.
-
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+");
-
< 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 . -
Chaîne contre StringBuilder contre StringBuffer
String
vsStringBuilder
:StringBuilder
mutable, ce qui signifie que nous pouvons modifier son contenu après la création de l'objet.StringBuilder
vsStringBuffer
:StringBuffer
synchronisé, ce qui signifie qu'il fonctionne correctement lorsqu'il est utilisé à partir de plusieurs threads en même temps, mais est plus lent queStringBuilder
. -
Comment répéter une ligne plusieurs fois ?
En Python, on peut simplement multiplier une chaîne par un nombre
n
et elle se répétera ensuite n fois. En Java, nous pouvons utiliser une méthoderepeat()
de laStringUtils
classe de la bibliothèque Apache Commons Lang.String str = "abcd"; String repeated = StringUtils.repeat(str,3); //abcdabcdabcd
-
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
-
Comment compter le nombre d’occurrences d’un certain caractère dans une chaîne ?
Utilisez une classe
StringUtils
de la bibliothèque Apache Commons Lang.int n = StringUtils.countMatches("11112222", "1"); System.out.println(n);
GO TO FULL VERSION