473 Stimmen

Prüfen, ob eine Zeichenkette in Java leer oder null ist

Ich analysiere HTML-Daten. Die String können sein null oder leer, wenn das zu parsende Wort nicht übereinstimmt.

Also habe ich es so geschrieben:

if(string.equals(null) || string.equals("")){
    Log.d("iftrue", "seem to be true");
}else{
    Log.d("iffalse", "seem to be false");
}

Wenn ich lösche String.equals("") funktioniert es nicht richtig.

Ich dachte String.equals("") war nicht korrekt.

Wie kann ich am besten prüfen, ob eine leere String ?

623voto

Pradeep Simha Punkte 16949

Die korrekte Art und Weise, auf null oder leer oder auf einen String, der nur Leerzeichen enthält, zu prüfen, ist wie folgt:

if(str != null && !str.trim().isEmpty()) { /* do your stuffs here */ }

421voto

Makoto Punkte 99743

Sie können Apache Commons nutzen StringUtils.isEmpty(str) die auf leere Zeichenketten prüft und mit null anmutig.

Beispiel:

System.out.println(StringUtils.isEmpty("")); // true
System.out.println(StringUtils.isEmpty(null)); // true

Google Guava bietet ebenfalls eine ähnliche, wahrscheinlich einfacher zu lesende Methode: Strings.isNullOrEmpty(str) .

Beispiel:

System.out.println(Strings.isNullOrEmpty("")); // true
System.out.println(Strings.isNullOrEmpty(null)); // true

117voto

Evgeniy Dorofeev Punkte 129020

Sie können Apache commons-lang verwenden

StringUtils.isEmpty(String str) - Prüft, ob ein String leer ("") oder null ist.

o

StringUtils.isBlank(String str) - Prüft, ob ein String Leerzeichen, leer ("") oder null ist.

Letztere betrachtet einen String, der aus Leerzeichen oder Sonderzeichen wie z.B. " " besteht, ebenfalls als leer. Siehe java.lang.Character.isWhitespace API

43voto

hari Punkte 1756
import com.google.common.base.Strings;

if(!Strings.isNullOrEmpty(String str)) {
   // Do your stuff here 
}

38voto

Alécio Carvalho Punkte 13103

Auf diese Weise prüfen Sie, ob die Zeichenkette nicht null und nicht leer ist, und berücksichtigen dabei auch die Leerzeichen:

boolean isEmpty = str == null || str.trim().length() == 0;
if (isEmpty) {
    // handle the validation
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X