среда, 24 ноября 2010 г.

Быстрое преобразование элемента в коллекцию

Часто встречаются методы, которые принимают коллекции в качестве параметра. Например:
public void print(Collection<string> strings){
  System.out.println("strings: "+ strings);
}

И часто необходимо вызвать эти методы имея всего один элемент. Обычно делают так:
List<string> strings = new ArrayList<string>();
strings.add(str);

print(strings);

но можно сделать и более короткую запись:
print(Collections.singletonList(str));

Из потенциальных неудобств можно отметить то, что Collections.singletonList() возвращает не модифицируемую коллекцию (Добавит элементы в нее уже не получится).

2 комментария:

  1. а почему не Arrays.asList(str))? и коллекция модифицированная, и "кода в два раза меньше" (ТМ), и волки сыты, и овцы целы, и пастуху вечная память

    ОтветитьУдалить