Ответ 1
Правильный способ проверки нулевого или пустого выглядит следующим образом:
if(str != null && !str.isEmpty()) { /* do your stuffs here */ }
Я обрабатываю HTML-данные. String
может быть null
или пустым, когда слово для разбора не соответствует.
Итак, я написал это следующим образом:
if(string.equals(null) || string.equals("")){
Log.d("iftrue", "seem to be true");
}else{
Log.d("iffalse", "seem to be false");
}
Когда я удаляю String.equals("")
, он работает неправильно.
Я думал, что String.equals("")
неверно.
Как лучше всего проверить пустой String
?
Правильный способ проверки нулевого или пустого выглядит следующим образом:
if(str != null && !str.isEmpty()) { /* do your stuffs here */ }
Вы можете использовать Apache Commons StringUtils.isEmpty(str)
, который проверяет пустые строки и обрабатывает null
изящно.
Пример:
System.out.println(StringUtils.isEmpty("")); // true
System.out.println(StringUtils.isEmpty(null)); // true
Google Guava также предоставляет аналогичный, возможно, более простой способ чтения: Strings.isNullOrEmpty(str)
.
Пример:
System.out.println(Strings.isNullOrEmpty("")); // true
System.out.println(Strings.isNullOrEmpty(null)); // true
Вы можете использовать Apache commons-lang
StringUtils.isEmpty(String str)
- Проверяет, является ли строка пустой ("") или нулевой.
или
StringUtils.isBlank(String str)
- Проверяет, является ли строка свободной, пустой ("") или нулевой.
последний рассматривает String, который состоит из пробелов или специальных символов, например, "" также пуст. См. Java.lang.Character.isWhitespace API
Таким образом, вы проверяете, не является ли строка пустой и не пустой, также учитывая пустое пространство:
boolean isEmpty = str == null || str.trim().length() == 0;
if (isEmpty) {
// handle the validation
}
if(!Strings.isNullOrEmpty(String str)) {
// Do your stuff here
}