Méthodes de classe Java String qui sont un peu utiles à connaître mais ne savent pas

Dans cet article, je vais résumer les méthodes de classe String de Java 11 qui sont utiles mais pas étonnamment connues, avec un jugement et des préjugés arbitraires. Arrêtons-nous et passons en revue les classes avec lesquelles nous sommes familiers, en visant un code plus court et meilleur.

Supprimer les blancs

Lors de l'écriture de code métier, je rencontre des centaines de fois lorsque je souhaite supprimer les espaces avant et après une chaîne de caractères. À ce moment-là, la méthode que vous utilisez souvent est la méthode de découpage.

"   aaa   ".trim(); // aaa

Toutefois, dans le cas de la méthode Trim, les espaces pleine largeur ne sont pas sujets à suppression. La méthode de bande est utile lorsque vous souhaitez supprimer des espaces en pleine largeur. La méthode de bande supprime les caractères vides qui incluent des espaces sur deux octets avant et après.

"   aaa   ".strip(); // aaa
"    aaa   ".strip(); // aaa

De plus, si vous souhaitez supprimer uniquement la première chaîne de caractères, utilisez "strip Leading". Vous pouvez utiliser "Strip Trailing" si vous souhaitez supprimer uniquement les remorques.

Répétition de caractères

Lorsque vous écrivez un code de test pour vérifier le nombre de chiffres dans une chaîne de caractères, écrivez-vous souvent le code source suivant?

lengthCheck("aaaaa");

Si vous vérifiez environ 5 chiffres, il n'y a pas de problème, mais s'il s'agit de 120 chiffres ou plus, c'est gênant et sale par-dessus tout. Dans un tel cas, la méthode "répétition" est utile.

"a".repeat(5); // aaaaa

C'est une méthode pratique qui peut répéter la chaîne de caractères spécifiée. Puisque la longueur de la chaîne de caractères peut être gérée par l'argument de répétition, Utilisons-le activement dans le code de test du système de vérification des chiffres pour le rendre clair et facile à comprendre.

Utile lors de la création de CSV

Lors de la création d'une application métier, je pense qu'il est courant de créer un fichier CSV et de le lier à d'autres systèmes. La méthode que vous voulez connaître dans un tel cas est la méthode "join". En utilisant cette méthode, la chaîne de caractères séparée par des virgules Ce sera facile à faire.

String.join(",", "a","b","c"); // a,b,c

Bien entendu, les caractères stockés dans le tableau peuvent également être une chaîne de caractères comprenant des délimiteurs.

String[] a = {"a","b","c"};
String.join(",", a);  // a,b,c

Pour les personnes qui ne veulent pas comparer des chaînes avec des égaux

Il s'agit de la méthode equals couramment utilisée en Java lors de la comparaison de chaînes. Cependant, vous pouvez également utiliser des méthodes String standard pour effectuer des comparaisons de chaînes.

String t = new String("a");
String s = new String("a");
    
t == s // false
t.intern() == s.intern() // true

En regardant JavaDoc, vous pouvez voir que le cas où intern est vrai est le même que t.equals (s). Si vous apprenez une autre langue et que vous n'êtes pas familier avec les égaux, vous voudrez peut-être l'utiliser. (Je ne vois pas beaucoup de gens l'utiliser au travail)

Jugement de caractère vide lorsque StringUtils d'Apache ne peut pas être utilisé

Dans les situations graves, OSS ne peut pas être utilisé et StringUtils ne peut pas être utilisé dans certains cas. Dans un tel cas, vous devez connaître la méthode isBlank. Vous pouvez juger les caractères vides avec la méthode standard String.

String s = "";     //Caractères vides
String t = " ";    //Espace demi-largeur
String r = " ";   //Espace pleine largeur
String i = null;   // null
    
s.isBlank(); // true
t.isBlank(); // true
r.isBlank(); // ture
i.isBlank(); // true

Il convient de noter que lorsqu'il est nul, il devient une exception de pointeur nul. (Bien sûr) À propos, isEmpty n'est vrai que lorsque la longueur est égale à 0, donc l'utilisation est différente.

Résumé

Il existe de nombreuses méthodes qui sont étonnamment pratiques et ont un petit tour. Une fois que vous avez examiné JavaDoc, vos soucis peuvent être résolus. (Nous continuerons à le publier dans cet article dès que nous trouverons un moyen pratique de l'utiliser.)

Matériel de référence

String

Recommended Posts

Méthodes de classe Java String qui sont un peu utiles à connaître mais ne savent pas
Diverses méthodes de la classe Java String
Comment utiliser les méthodes de classe [Java]
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Code pour échapper aux chaînes JSON en Java
Comment créer une classe qui hérite des informations de classe
Comment convertir un contrat de solidité en une classe de contrat Java
Méthodes de classe Java
Méthodes de classe de chaîne
Fonctionnalités susceptibles d'entrer dans Java 10 pour le moment
Ecrire une classe qui peut être ordonnée en Java Un petit mémo standard
[Java] Comment découper une chaîne de caractères caractère par caractère
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Comment initialiser par lots des tableaux avec Java que je ne savais pas quand j'étais débutant
Un résumé concis des API de date / heure Java 8 susceptibles d'être utilisées fréquemment
À propos de la classe Java String
11 éléments que je ne sais pas s'il est bon de savoir sur JAVA
Convertir un tableau d'octets Java en une chaîne hexadécimale
Comment stocker des chaînes de ArrayList à String en Java (personnel)
J'ai essayé de convertir une chaîne de caractères en un type LocalDate en Java
[MQTT / Java] Implémentation d'une classe qui fait Pub / Sub de MQTT en Java
[Introduction à Java] Gestion des chaînes de caractères (classe String, classe StringBuilder)
[Java] Code difficile à remarquer mais terriblement lent