Что лучше всего между строкой 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));
Проверяет, является ли строка пустым, пустым ("") или пустым.
foo.isEmpty()
Возвращает true, если и только если length () равен 0.
Поэтому, если вы хотите что-то продвинутое, например, которое не будет выдавать NPE, если строка пуста, игнорируйте пустую строку (так что автоматическая обрезка), а затем используйте StringUtils.isBlank(foo));
С другой стороны, как вы показали разницу в производительности, у которой есть очень веская причина isEmpty()
просто посмотри на длину.
Это ваш выбор в зависимости от необходимости.