Завершение автозавершения Eclipse с помощью общих классов и статических методов
Для родовых классов я обычно предпочитаю статические методы вместо конструкторов, чтобы избежать утомительных параметров избыточного типа (пример приведен ниже для пояснения).
Но при использовании автоматического завершения Eclipse всегда предлагает параметр типа, например:
example
(ctrl + пробел) Example<T>
Затем мне нужно удалить <T>
вручную и вместо этого добавить мой статический метод, например Example.new()
. Есть ли возможность изменить это поведение или совершенно другой удобный ярлык для лучшего рабочего процесса? (Я все еще работаю с Eclipse 3, это было изменено в 4?)
static final class Example<T> {
/** Private, use factory method instead. */
private Example() {
}
public static <T> Example<T> create() {
return new Example<T>();
}
}
public static void main(String[] args) {
Example<Integer> example = Example.create();
}
Ответы
Ответ 1
Если сразу после удара (ctrl-space) вы дважды нажмете клавишу backspace, Eclipse удалит все аргумент аргумента типа. Это было реализовано для адреса https://bugs.eclipse.org/bugs/show_bug.cgi?id=301990.
Это не идеально - я предпочел бы затмить только добавление предложения аргумента типа, когда имени типа предшествует новый, но он по крайней мере делает его управляемым.
Ответ 2
Я думаю, что это было ошибкой в затмении, как показано здесь Автоматическое заполнение полей параметров типа вставки слишком агрессивно
И вы можете взглянуть на это, это может помочь вам Eclipse и общие типы