Android TextUtils isEmpty vs. String.isEmpty

Lesezeit: 3 Minuten

Benutzer-Avatar
Suri

Was ist der Unterschied zwischen TextUtils.isEmpty(string) und string.isEmpty?

Beide führen die gleiche Operation aus.

Ist es vorteilhaft zu verwenden TextUtils.isEmpty(string)?

  • Sie wissen, dass Sie sich immer nur die Implementierung beider Methoden ansehen können, um den Unterschied in nur wenigen Sekunden selbst herauszufinden …

    – Xaver Kapeller

    3. April 2016 um 17:22 Uhr


  • TextUtils-Quellcode: grepcode.com/file/repository.grepcode.com/java/ext/…

    – OneCricketeer

    3. April 2016 um 17:28 Uhr

Benutzer-Avatar
Ein Cricketspieler

Ja, TextUtils.isEmpty(string) Ist bevorzugt.


Zum string.isEmpty()ein Null-String-Wert löst a aus NullPointerException

TextUtils gibt immer einen booleschen Wert zurück.

Im Code ist ersteres einfach nennt das Äquivalent des anderenplus eine Nullprüfung.

return string == null || string.length() == 0;

  • @RuchirBaronia das heißt TextUtils.isEmpty(string) prüfen Sie auch, ob die String Objekt ist null oder nicht, wenn Sie versuchen, das zu verwenden String du hast es nicht bekommen NullPointerException

    – Ahmed Mostafa

    3. April 2016 um 17:33 Uhr


  • @ahmedghanayem Nein, ich habe gefragt, warum Cricket String#isEmpty anstelle von String.isEmpty geschrieben hat, aber dieser Link hat das für mich geklärt.

    – Ruchir Baronia

    3. April 2016 um 17:34 Uhr

  • Mir wurde klar, dass ich einfach die Variable anstelle der Klasse verwenden könnte, um weitere Verwirrung zu vermeiden

    – OneCricketeer

    3. April 2016 um 17:35 Uhr

  • „Immer bevorzugt“ ist ein starker Ausdruck. Für Referenzen, die nicht sein sollten nullist es tatsächlich vorzuziehen, eine Methode zu verwenden, die sofort fehlschlägt, wenn sich die Anwendung in einem inkonsistenten Zustand befindet, anstatt mit einer Annahme fortzufahren wie „null ist gleichbedeutend mit einem leeren String“ und scheitern an einer unbestimmten späteren Stelle.

    – Holger

    2. Mai 2017 um 19:50 Uhr


  • @cricket_007 Genau, also wenn du tat Wenn Sie eine Nullzeichenfolge erhalten, ist es besser, sofort davon zu erfahren, anstatt das Problem damit zu maskieren TextUtils.isEmpty. Sie wollen TextUtils bei der Arbeit mit Zeichenfolgen, die Sie erwarten können null zB weil sie von einigen zurückgegeben werden null-API verwenden.

    – Alexej Romanow

    16. Juni 2017 um 11:46 Uhr


Benutzer-Avatar
Ahmed Mostafa

Im Unterricht TextUtils

public static boolean isEmpty(@Nullable CharSequence str) {
    if (str == null || str.length() == 0) {
        return true;
    } else {
        return false;
    }
}

prüft, ob die Zeichenfolgenlänge null ist und ob die Zeichenfolge null ist, um ein Werfen zu vermeiden NullPointerException

im Unterricht String

public boolean isEmpty() {
    return count == 0;
}

überprüft, ob die Zeichenfolgenlänge nur Null ist, kann dies zu führen NullPointerException wenn Sie versuchen, diese Zeichenfolge zu verwenden und sie null ist.

  • Vielleicht bin ich nur dumm, aber warum machen sie nicht einfach: return if {str == null || str.länge() == 0;}

    – jobbert

    22. März 2018 um 15:21 Uhr


Benutzer-Avatar
ΦXocę 웃 Пepeúpa ツ

Schau mal in die Dok

für die Zeichenfolge#ist leer sie spezifizieren:

boolesch
isEmpty() Gibt true zurück, wenn und nur wenn length() 0 ist.

und für die TextUtils.isEmpty die Dokumentation erklärt:

öffentlich statisch boolesch isEmpty (CharSequence str)

Gibt „true“ zurück, wenn die Zeichenfolge null oder die Länge 0 hat.

Der Hauptunterschied besteht also darin, dass es Ihnen bei Verwendung von TextUtils.isEmpty egal ist oder Sie nicht prüfen müssen, ob die Zeichenfolge nullreferenziert ist oder nicht.

im anderen Fall ja.

Benutzer-Avatar
Wackalon

TextUtils.isEmpty() ist im Android SDK wegen der inneren Nullprüfung besser, sodass Sie die Zeichenfolge nicht auf null prüfen müssen, bevor Sie selbst prüfen, ob sie leer ist.

Aber mit Kotlin können Sie verwenden String?.isEmpty() und String?.isNotEmpty() Anstatt von TextUtils.isEmpty() und !TextUtils.isEmpty()es wird leserfreundlicher sein

Daher denke ich, dass es bevorzugt wird, es zu verwenden String?.isEmpty() in Kotlin u TextUtils.isEmpty() im Android-Java-SDK

String?.isNullOrEmpty

könnte das sein, was Sie suchen

  • Dies ist eine Java-Frage.

    – Sabine

    29. September 2019 um 23:50 Uhr


  • Dies ist eine Java-Frage.

    – Sabine

    29. September 2019 um 23:50 Uhr


1146460cookie-checkAndroid TextUtils isEmpty vs. String.isEmpty

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy