0

使用 Eclipse,我在这个 Java 代码片段中遇到了死代码错误:

public void rebirthAction() {
    Player p = new Player(null);
    Equipment e = new Equipment();
    Skills s = new Skills(null);
    if ((Equipment.SLOT_SHIELD == -1) && (Equipment.SLOT_WEAPON == -1) && (Equipment.SLOT_CHEST == -1) && (Equipment.SLOT_BOTTOMS == -1) && (Equipment.SLOT_AMULET == -1) && (Equipment.SLOT_BOOTS == -1) && (Equipment.SLOT_HELM == -1) && (Equipment.SLOT_GLOVES == -1))
        for (int i = 0; i <= 7; i++) {
            p.getSkills().setLevel(i, 1);
            p.getSkills().setExperience(i, 0);
            //updateRequired = true;
            //appearanceUpdateRequired = true;
            s.getTotalLevel();
            s.getCombatLevel();
            Combat.calculateMaxHit(p);
            p.getSkills();
            rebirthCount++;
        }
}
4

1 回答 1

8

if语句仅检查 Equipment 类的最终静态值,编译器检测到这种情况永远不会发生true,因此以下行是死代码(无法访问)。

于 2010-08-22T17:55:28.973 回答