局部变量是多余的java

时间:2014-10-18 03:57:08

标签: java

有人可以向我解释为什么它会给我“局部变量是多余的错误”吗?

public double depreciationAmount() {
    double depreciationAmount = (cost * percentDepreciated);
    return depreciationAmount;
}

4 个答案:

答案 0 :(得分:21)

  

有人可以向我解释为什么它会给我“局部变量是多余的错误”吗?

因为你可以在不使用局部变量的情况下轻松地编写它。

public double depreciationAmount() {
    return cost * percentDepreciated;
}

因此局部变量是不必要/冗余的。


但是,我猜测这不是编译器错误。它可能是编译器警告,或者更可能是样式检查器或错误检查器警告。这是你可以忽略的东西,而不会对你的代码的正确性造成任何风险......正如所写的那样。

另外,我预测一旦代码被JIT编译(通过现代Hotspot JIT编译器......),两个版本之间就没有性能差异。

答案 1 :(得分:9)

虽然不是这里的情况,但是如果需要冗余局部变量(我曾经有过一次这样的情况 - 没有详细说明),这里是如何抑制这个特定的警告。

@SuppressWarnings("UnnecessaryLocalVariable")
public double depreciationAmount() {
    double depreciationAmount = (cost * percentDepreciated);
    return depreciationAmount;
}

答案 2 :(得分:1)

您只需使用percentDepreciated的值即可返回return (cost * percentDepreciated)

答案 3 :(得分:0)

在计算机编程中,冗余代码是计算机程序中不需要的源代码或编译代码,在上面的代码中,你可以简单地返回 (成本 * 折旧百分比)