设置intellij在java中使用泛型时询问类型参数

时间:2014-04-17 16:21:44

标签: java generics intellij-idea

我是IntelliJ IDEA的新手。我曾经使用Eclipse。

默认情况下,IntelliJ不会要求为Java Generics Type提供参数类型。

// Following code doesn't give any warning
List list = null;

// I want to make IntelliJ ask me to specify type parameter (say Long)
List<Long> list = null; // i.e  If I want a List of Long

如何设置IntelliJ以便它在使用泛型java类型时让我提供泛型类型参数?

如果重要的话我会使用JDK 8.

3 个答案:

答案 0 :(得分:14)

IntelliJ提供检验名称参数化类的原始使用

enter image description here

启用该检查后。

enter image description here

答案 1 :(得分:4)

Project Structure菜单的Project下,检查语言级别设置。将其设置为6.0将导致IDE在缺少菱形块中的标识符时给出错误。

将其设置为7.0或更高将抑制它。

基于进一步交流的补充:

File -> Settings -> Inspections -> General下如果选中Unchecked warning框,则当您运行Analyze -> Inspect code时,它会将General -> Unchecked warnings下注明的条件报告为“未经检查的添加调用”( E)作为原始类型'java.util.List'“的成员,在此示例中。如果明确声明List的泛型类型,则此警告不会显示在报告中。

答案 2 :(得分:1)

我不知道如何让它完全按照你的要求去做;然而,一旦你实例化你的List然后添加一个元素,IntelliJ将用黄色波浪线标记它,并警告你它是未经检查的。如果你将光标放在黄色波浪形的任何地方并按下Alt-Enter,它将为你提供&#34;尝试生成YourClassName&#34;,按回车键,它将推断出类型并修改你的代码。

在:

Before

后:

After