Как определить, содержит ли список строк нулевые или пустые элементы

В Java у меня есть следующий метод:

public String normalizeList(List<String> keys) {
    //...
}

Я хочу проверитьkeys:

  • Не является nullсамим собой; и
  • Не пусто(size() == 0); и
  • Не содержит Stringэлементов, равных null; и
  • Не имеет Stringпустых элементов ("")

Это служебный метод, который будет использоваться в JAR-файле в стиле "commons" -(, класс будет примерно такимDataUtils). Вот что у меня есть, но я считаю, что это неверно:

public String normalize(List<String> keys) {
    if(keys == null || keys.size() == 0 || keys.contains(null) || keys.contains(""))
        throw new IllegalArgumentException("Bad!");

    // Rest of method...
}

Я считаю, что последние 2 проверки для keys.contains(null)и keys.contains("")неверны и, вероятно, вызовут исключения во время выполнения. Я знаю, что могу просто пройтись по списку внутри оператора ifи проверить наличие там нулей/пустых значений, но я ищу более элегантное решение, если оно существует.

17
задан Roman C 23 April 2014 в 20:41
поделиться