Ответ 1
Вы можете использовать toCollection(Supplier)
:
return ALL_OPTS.stream().filter(a -> (a.ameityId & bitFlag) > 0)
.collect(Collectors.toCollection(() -> EnumSet.noneOf(Amenities.class)));
Метод toCollection
получает lambda, который должен создать пустую коллекцию для хранения результата. Здесь мы создаем пустой EnumSet
с помощью вызова EnumSet.noneOf
. Обратите внимание, что для EnumSet
вы всегда должны указывать (неявно или явно), для которого установлено это перечисление.