[Java] Pourquoi utiliser StringUtils.isEmpty () au lieu de String.isEmpty ()

Bien entendu, le contrôle nul d'une chaîne de caractères utilise org.apache.commons.lang.StringUtils.isEmpty () `` `, mais en fait,` `` java.lang.String.isEmpty () Il y a aussi des `` ''. Alors pourquoi utiliser org.apache.commons.lang.StringUtils.isEmpty () pour inclure un fichier jar externe?

Différence entre deux isEmpty ()

StringUtils isEmpty ()

Renvoie vrai si nul ou vide.

Chaîne isEmpty ()

Renvoie vrai uniquement si length () est égal à 0.

Comparaison des résultats d'exécution de isEmpty () de String et StringUtils

Voici la source de l'utilisation de la méthode isEmpty () pour les caractères nuls et vides: arrow_down:

import org.apache.commons.lang.StringUtils;

public class VsIsEmpty {

  public static void main(String[] args) {

    String str1 = null;
    String str2 = "";

    System.out.println("-------------------------");
//    System.out.println(str1.isEmpty());    //Une exception nullPointerException se produit ici.
    System.out.println(StringUtils.isEmpty(str1));

    System.out.println("-------------------------");
    System.out.println(str2.isEmpty());
    System.out.println(StringUtils.isEmpty(str2));
  }
}

Cliquez ici pour le résultat de l'exécution: arrow_down:

-------------------------
true
-------------------------
true
true

String.isEmpty () renvoie NullPointerExceptin simplement parce qu'il dit "quand length () est 0". Par conséquent, il est commenté dans le code source ci-dessus.

Conclusion

String.isEmpty () était un enfant "vide": exclamation: Puisque null et sky sont des choses différentes, cela semble être vrai quand on le lui demande, mais après tout vide signifie que je veux que null et sky soient retournés comme vrais.

Recommended Posts

[Java] Pourquoi utiliser StringUtils.isEmpty () au lieu de String.isEmpty ()
[Swift] Pourquoi FlowLayout devrait utiliser Delegate au lieu de l'instance
utiliser enum au lieu de la constante int
Élément 36: utiliser EnumSet au lieu de champs de bits
[Java] [Maven3] Résumé de l'utilisation de Maven3
Utilisez jenv pour activer plusieurs versions de Java
[Java] Utilisation de final dans la déclaration de variable locale
[Java] Utilisez Collectors.collectingAndThen
[Java] Présentation de Java
Utiliser des expressions Java lambda en dehors de l'API Stream
Parcourir les objets de classe dans Kotlin (au lieu de Java class name.class)
Résumé de l'API de communication Java (1) Comment utiliser Socket
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
Utilisation correcte de la classe abstraite et de l'interface en Java
Java: utilisez Stream pour trier le contenu d'une collection
[Sécurité Null] Mémo de comparaison Kotlin Java Utilisation correcte de la sécurité Null
Collection expirée de java
Utilisation de la classe Date
Caractéristiques prévues de Java
[Java] Importance de serialVersionUID
NIO.2 examen de Java
Avis sur Java Shilber
java --Unification des commentaires
Utiliser OpenCV avec Java
Histoire des annotations Java
java (mérites du polymorphisme)
Examen NIO de Java
Utiliser PreparedStatement en Java
[Java] Trois fonctionnalités de Java
Résumé du support Java 2018
Comment utiliser le modèle entraîné Tensorflow 2.0 avec Kotlin / Java