Eclipse中的泛型类型的自动完成

时间:2012-07-03 14:56:17

标签: java eclipse generics autocomplete effective-java

“通过接口引用对象”是一种很好的做法,如Effective Java中所述。 所以例如我更喜欢

List<String> al = new ArrayList<String>();

ArrayList<String> al = new ArrayList<String>();

在我的代码中。令人讨厌的是,如果我输入ArrayList<String> al = new然后按下Eclipse中的Ctrl + Space,我会得到ArrayList<String>()作为propostal。但是如果我输入List al = new然后点击Ctrl + Space我将只得到propostal来定义匿名内部类,但不是propostal如new ArrayList<String>(),99%的情况,或者例如new {{1 }}

问题:有没有办法让子类成为泛型类型的propostals?

3 个答案:

答案 0 :(得分:9)

我建议先写一下表达式然后点击Ctrl+2, L。然后,您可以命名变量,然后是Enter, Down, Enter。完成。

答案 1 :(得分:2)

根据您编写此类代码的个人风格,这是@Ben Schulz答案的另一种选择。如果您通常首先编写作业

al = new ArrayList<String>();

然后您可以使用Ctrl+1启动“创建局部变量”快速修复。点击Tab现在将直接打开您选择List类型的类型选择。

答案 2 :(得分:2)

JDK 1.7不需要在相等的右边指定泛型类型。 偏好 - &gt; Java - &gt;编译器到1.6