я уверен, что это, должно быть, спрашивали раньше по-разному - поскольку isEmptyOrNull настолько распространен, но люди реализуют его по-разному. но у меня есть любопытный запрос с точки зрения наилучшего доступного подхода, который хорош как для памяти, так и для производительности.
1) Ниже не учитываются все пробелы, как в случае пустого тега XML.
return inputString==null || inputString.length()==0;
2) Ниже один заботится, но обрезка может съесть немного производительности + памяти
return inputString==null || inputString.trim().length()==0;
3) Сочетание одного и двух может сэкономить немного производительности + памяти (как предложил Крис в комментариях)
return inputString==null || inputString.trim().length()==0 || inputString.trim().length()==0;
4) Преобразовано в средство сопоставления с образцом (вызывается, только если длина строки не равна нулю)
private static final Pattern p = Pattern.compile("\\s+");
return inputString==null || inputString.length()==0 || p.matcher(inputString).matches();
5) Использование таких библиотек, как Apache Commons (StringUtils.isBlank/isEmpty
), Spring (StringUtils.isEmpty
) или Guava (Strings.isNullOrEmpty
) или любой другой вариант?
isEmpty
является новым в java 6, и реализации, которые старше или хотят оставаться совместимыми с java 5, должны будут использовать проверку длины. - person zapl   schedule 14.09.2015return inputString==null || inputString.length()==0 || inputString.trim().length()==0;
(объединение 1 и 2), то обрезка вызывается только для строки ненулевой длины. Вы также можете добавить 3 к нему., - person Christian Fries   schedule 14.09.2015