А как насчет isEmpty () ?
if(str != null && !str.isEmpty())
Обязательно используйте части &&
в этом порядке, потому что java не продолжит оценку второй части, если первая часть &&
не удастся, таким образом гарантируя, что вы не получите исключение нулевого указателя из str.isEmpty()
если str
равно нулю.
Осторожно, он доступен только с Java SE 1.6. Вы должны проверить str.length() == 0
в предыдущих версиях.
Для игнорирования пробелов:
if(str != null && !str.trim().isEmpty())
(поскольку Java 11 str.trim().isEmpty()
может быть уменьшена до str.isBlank()
, что также будет проверять другие пробелы Unicode)
Завёрнут в удобную функцию:
public static boolean empty( final String s ) {
// Null-safe, short-circuit evaluation.
return s == null || s.trim().isEmpty();
}
становится:
if( !empty( str ) )