Eclipse通过泛型类和静态方法自动完成

qqi*_*ihq 12 java eclipse generics autocomplete

对于泛型类,我通常更喜欢静态方法而不是构造函数,以避免繁琐的冗余类型参数(下面给出的示例用于说明).

但是在使用自动完成时,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();
}
Run Code Online (Sandbox Code Playgroud)

Ian*_*son 1

如果在按 (ctrl-space) 后立即按两次退格键,Eclipse 将删除整个类型参数子句。这是为了解决https://bugs.eclipse.org/bugs/show_bug.cgi?id=301990而实现的。

它并不完美 - 我宁愿 Eclipse 仅在类型名称前面有 new 时添加类型参数子句,但它至少使其易于管理。