死代码是什么?

时间:2015-02-13 09:54:15

标签: java android dead-code

这是我的代码,Eclipse说i++是死代码......为什么?

for(int i=0;i<packages.size();i++)
        {
            PInfo pinfo = new PInfo();
            pinfo = packages.get(i);
            if(pinfo.pname.contains("com.imdb.mobile"));
            {
            packagesModified.add(pinfo);
            break;
            }
        }

1 个答案:

答案 0 :(得分:11)

由于此处;

if(pinfo.pname.contains("com.imdb.mobile"));
// ----------------------------------------^

;if提供了一个空体,因此后面的块不会与if相关联,因此break; 1}}总是发生,i++中的for永远不会到达。

您通常不会在;forwhile之类的控制语句之后添加if等等(有一些边缘情况所有逻辑都在结构中,但通常你需要一个体块或声明附加到它们。)


无关,但这里没有new PInfo()的理由:

PInfo pinfo = new PInfo();
//         ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);
相关问题