Я создаю неизменяемое представление «события» в своей системе, и, таким образом, для списков владельцев, переданных в конструкторе, я хотел бы просмотреть их только для чтения. Кроме того, если они переходят в список null
, я хотел бы сделать в этом случае пустой список для чтения.Лучший способ создания только для чтения, пустой список?
Теперь, так как Collections.unmodifiableList
брусьев в null
, я в настоящее время это:
userOwners_ = Collections.unmodifiableList(userOwners != null
? userOwners
: new ArrayList<String>(0));
Но это кажется немного некрасиво и неэффективно. Есть ли более элегантный способ сделать это на Java?
Пустой немодифицируемый список должен быть окончательным статическим (например, ENUM), я бы никогда не создавал новый объект неизменяемого пустого списка каждый раз. – Shivam
Возможно, я не понимаю вашу проблему, но есть ли причина не использовать [Collections.emptyList()] (http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html# emptyList())? –
Спасибо всем за ваш вход, я прихожу с земли C# и пытаюсь перейти в стиль Java/практики, поэтому все входные данные были замечательными, и я попытался проголосовать за всех и хотел бы выбрать несколько ответов. .. –