Расширить ImmutableList.of () другим списком - PullRequest
5 голосов
/ 03 апреля 2019

Я хочу упростить существующий код, связанный с функциональностью ImmutableList.of ()

Я уже пытался оптимизировать создание второго Списка, исключив конструктор «new ...», но, конечно, я не смог расширить неизменяемый список, вызвав .add ();

Текущий код:

static final ImmutableList<ProductCodeEnum> PRODUCTS = ImmutableList.of(ProductCodeEnum.A, ProductCodeEnum.B, ProductCodeEnum.C);


static final ImmutableList<ProductCodeEnum> PRODUCTS_EXTENDED_LIST = new ImmutableList.Builder<ProductCodeEnum>().addAll(PRODUCTS)
.add(ProductCodeEnum.D)
.add(ProductCodeEnum.E)
.build();

Ожидаемый код как:

static final ImmutableList<ProductCodeEnum> PRODUCTS = ImmutableList.of(ProductCodeEnum.A, ProductCodeEnum.B, ProductCodeEnum.C);


static final ImmutableList<ProductCodeEnum> PRODUCTS_EXTENDED = PRODUCTS + ImmutableList.of(ProductCodeEnum.D, ProductCodeEnum.E);

1 Ответ

6 голосов
/ 03 апреля 2019

Я думаю, что вы используете Guava ImmutableList?

В этом случае ваш код будет выглядеть так:

static final ImmutableList<ProductCodeEnum> PRODUCTS = ImmutableList.of(ProductCodeEnum.A, ProductCodeEnum.B, ProductCodeEnum.C);

static final ImmutableList<ProductCodeEnum> PRODUCTS_EXTENDED = ImmutableList.builder().addAll(PRODUCTS).add(ProductCodeEnum.D, ProductCodeEnum.E).build();
...