Что лучше всего между строкой isEmpty и StringUtils.isNotBlank()

Я использую следующий код для проверки времени:

public static void main(String[] args) throws Exception {
    String foo = "foo";
    long start=System.currentTimeMillis();
    if (StringUtils.isBlank(foo));
    long end=System.currentTimeMillis();
    System.out.println("isBlank="+(end-start));
    start=System.currentTimeMillis();
    if (foo!=null && !foo.isEmpty());
    end=System.currentTimeMillis();
    System.out.println("Sec="+(end-start));
}

Метод StringUtils.isBlank() занимает на 3 мс дольше, чем простой метод String.isEmpty(). Какой метод мы должны использовать?

1 ответ

StringUtils.isBlank(foo));

Проверяет, является ли строка пустым, пустым ("") или пустым.

StringUtils.isBlank ()

foo.isEmpty()

Возвращает true, если и только если length () равен 0.

пустой()

Поэтому, если вы хотите что-то продвинутое, например, которое не будет выдавать NPE, если строка пуста, игнорируйте пустую строку (так что автоматическая обрезка), а затем используйте StringUtils.isBlank(foo));

С другой стороны, как вы показали разницу в производительности, у которой есть очень веская причина isEmpty() просто посмотри на длину.

Это ваш выбор в зависимости от необходимости.

Другие вопросы по тегам