Ik ben HTML-gegevens aan het parseren. De String
kan null
of leeg zijn, wanneer het te ontleden woord niet overeenkomt.
Dus ik heb het zo geschreven:
if(string.equals(null) || string.equals("")){
Log.d("iftrue", "seem to be true");
}else{
Log.d("iffalse", "seem to be false");
}
Als ik String.equals("")
verwijder, werkt het niet correct.
Ik dacht dat String.equals("")
niet correct was.
Hoe kan ik het beste controleren op een lege String
?
Antwoord 1, autoriteit 100%
De juiste manier om te controleren op null of leeg of tekenreeks die alleen spaties bevat, is als volgt:
if(str != null && !str.trim().isEmpty()) { /* do your stuffs here */ }
Antwoord 2, autoriteit 65%
U kunt gebruikmaken van Apache Commons StringUtils.isEmpty(str)
, die controleert op lege tekenreeksen en null
netjes afhandelt.
Voorbeeld:
System.out.println(StringUtils.isEmpty("")); // true
System.out.println(StringUtils.isEmpty(null)); // true
Google Guava biedt ook een vergelijkbare, waarschijnlijk gemakkelijker te lezen methode: Strings.isNullOrEmpty(str)
.
Voorbeeld:
System.out.println(Strings.isNullOrEmpty("")); // true
System.out.println(Strings.isNullOrEmpty(null)); // true
Antwoord 3, autoriteit 16%
U kunt Apache commons-lang gebruiken
StringUtils.isEmpty(String str)
– Controleert of een tekenreeks leeg (“”) of null is.
of
StringUtils.isBlank(String str)
– Controleert of een tekenreeks witruimte, leeg (“”) of null is.
de laatste beschouwt een string die uit spaties of speciale tekens bestaat, bijv. ” “, ook als leeg. Zie java.lang.Character.isWhitespace API
Antwoord 4, autoriteit 6%
Op deze manier controleer je of de string niet null en niet leeg is, ook rekening houdend met de lege spaties:
boolean isEmpty = str == null || str.trim().length() == 0;
if (isEmpty) {
// handle the validation
}
Antwoord 5, autoriteit 6%
import com.google.common.base
if(!Strings.isNullOrEmpty(String str)) {
// Do your stuff here
}