IntelliJ IDEA:什么是'不必要的局部变量'检验名称?

时间:2014-02-19 16:18:58

标签: java intellij-idea inspection code-inspection

我想对Java项目进行某些检查。我看到这个检查在编辑窗口中实时工作。但是,当我使用“分析 - >按名称运行检查”时,我找不到此检查。实际上有一个具有相同名称,但它适用于JavaScript(尝试过它,不按预期工作)。任何人都可以告诉我我需要的确切检查名称或教我如何弄明白吗?

这是代码示例:

private Integer getInteger(){
    //x on the line below will be highlighted by inspection saying
    // "Local variable 'x' is redundant more... (Ctrl+F1)"
    Integer x = 5;
    return x;
}

更新:我设法使用变通方法启动所需的检查。我创建了如上所示的测试用例,然后在突出显示的区域按下Alt + Enter然后按右箭头键并选择“运行检查”。enter image description here 这是有效的,但仍然不清楚如何通过“分析 - >按名称运行检查”运行相同的检查

4 个答案:

答案 0 :(得分:2)

当我输入此代码时,我得到“局部变量'i'是冗余消息”(以及“黄色”分析):

public int testMe()
{
   int i = 5;  // The 'i' is highlighted
   return i;
}

我可以通过添加此注释来抑制此警告(并获得“绿色”分析,无警告):

@SuppressWarnings("UnnecessaryLocalVariable")
public int testMe()
{
   int i = 5;
   return i;
}

尝试“冗余局部变量”。根据{{​​3}},这似乎是与注释相匹配的描述。

Warning Description         Warning Name
Redundant local variable    UnnecessaryLocalVariable

答案 1 :(得分:2)

在我的IntelliJ IDEA 12.1.5中,我认为它叫Redundant local variable

您的x是多余的,因为除了返回之外,您没有在该范围内的任何位置使用该变量。所以代码

Integer x = 5;
return x;

可以简化为

return 5;

然而,要避免像return 5;这样的“魔术数字”,你可以将它分配给一个类常量(private static final Integer X = 5;

答案 2 :(得分:0)

它被称为“未使用的局部变量”。

编辑:你正在寻找“冗余局部变量”吗?

答案 3 :(得分:0)

这是由bug引起的,已在IntelliJ IDEA 14中修复。