Ответ 1
Библиотека Commons, StringUtils.isBlank() или StringUtils.isEmtpy().
isEmpty эквивалентно
s == null || s.length() == 0
isBlank эквивалентно
s == null || s.trim().length() == 0
У меня есть метод setter.
Затем, когда запускается другой (например, сгенерированный) метод, мне нужно проверить значение моих полей. Поэтому в случае свойства String мне нужно знать, содержит ли оно значение или если оно не было установлено. Так что это может быть нулевое значение "или что-то значимое, есть три возможности. И довольно скучно сначала проверять нулевое значение:
if (s != null)
то для пустой строки
if (!s.isEmpty())
есть одноэтапная проверка здесь? Вы можете сказать мне, что я могу инициализировать мое поле String пустой String. [ЭТО ОБЩИЙ? ] Но что, если кто-то передает нулевое значение методу setter setS? так что мы всегда должны проверить, имеет ли значение Object значение null или нет, прежде чем что-то делать с этим объектом?
Ну, да, метод setter может проверить его значения, а также метод getter может возвращать ненулевое значение, если поле равно null. Но это единственное решение? Это слишком много работает в геттерах и сеттерах для программиста!
Библиотека Commons, StringUtils.isBlank() или StringUtils.isEmtpy().
isEmpty эквивалентно
s == null || s.length() == 0
isBlank эквивалентно
s == null || s.trim().length() == 0
if(s != null && !s.isEmpty()){
// this will work even if 's' is NULL
}
В jakarta commons есть StringUtils.isEmpty(String).
используйте org.apache.commons.lang.StringUtils, метод StringUtils.isNotBlank проверяет как недействительность, так и пустоту.
Добавьте зависимость maven для com.google.guava
Тогда в вашем коде:
import com.google.common.base.Strings;
if(!Strings.isNullOrEmpty(s)) {
// Do stuff here
}
попробуйте это
if (s) {
}