Объединить гуаву s ImmutableList и varargs

Я хочу создать конструктор, который будет принимать одно или несколько целых чисел и сохранять его в поле как 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 Вопрос с дженериками решен. Любые предложения по рефакторингу очень полезны.

9
задан Bozho 25 December 2010 в 20:04
поделиться