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)
?
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)
?
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 null
ist 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
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
Φ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.
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
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