Что такое инициализация двойной скобки в Java? - PullRequest
265 голосов
/ 24 декабря 2009

Что такое синтаксис инициализации двойной скобки ({{ ... }}) в Java?

Ответы [ 12 ]

2 голосов
/ 29 октября 2018

Как отмечает @Lukas Eder двойных скобок инициализации коллекций следует избегать.

Он создает анонимный внутренний класс, и, поскольку все внутренние классы сохраняют ссылку на родительский экземпляр, он может - и, скорее всего, на 99% - предотвратить сборку мусора, если на эти объекты коллекции ссылается больше объектов, чем просто объявляющего.

Java 9 ввел удобные методы List.of, Set.of и Map.of, которые следует использовать вместо. Они быстрее и эффективнее инициализатора с двойной скобкой.

0 голосов
/ 24 декабря 2009

Похоже, это то же самое, что ключевое слово with, столь популярное в flash и vbscript. Это метод изменения значения this и ничего более.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...