Я хочу создать конструктор, который будет принимать одно или несколько целых чисел и сохранять его в поле как ImmutableList. В соответствии с правилом 42 Блоха «Правильный способ использования varargs для передачи одного или нескольких аргументов» я создаю smt типа
class Foo{
private final ImmutableList<Integer> bar;
public Foo(Integer first, Integer... other) {
this.bar = ImmutableList.<Integer>builder()
.add(first)
.addAll(Arrays.asList(other))
.build();
}
}
Почему builder не получает универсальный автоматически? И, как пахнет. Как его переписать?
upd
Я хочу создать конструктор, который будет принимать одно или несколько целых чисел и сохранять их в поле как ImmutableList. В соответствии с правилом 42 Блоха «Правильный способ использования varargs для передачи одного или нескольких аргументов» я создаю smt типа
class Foo{
private final ImmutableList<Integer> bar;
public Foo(Integer first, Integer... other) {
this.bar = ImmutableList.<Integer>builder()
.add(first)
.addAll(Arrays.asList(other))
.build();
}
}
Почему builder не получает универсальный автоматически? И, как пахнет. Как его переписать?
upd
Я хочу создать конструктор, который будет принимать одно или несколько целых чисел и сохранять их в поле как ImmutableList. В соответствии с правилом 42 Блоха «Правильный способ использования varargs для передачи одного или нескольких аргументов» я создаю smt типа
class Foo{
private final ImmutableList<Integer> bar;
public Foo(Integer first, Integer... other) {
this.bar = ImmutableList.<Integer>builder()
.add(first)
.addAll(Arrays.asList(other))
.build();
}
}
Почему builder не получает универсальный автоматически? И, как пахнет. Как его переписать?
upd Вопрос с дженериками решен. Любые предложения по рефакторингу очень полезны.