什么是死代码?

what is 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;
            }
        }

因为;这里:

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

;if 一个空体,因此它后面的块 没有 连接到 if,所以你的 break; 总是发生,而 for 中的 i++ 永远不会达到。

你通常不会把 ; 放在 forwhileif 等控制语句之后(有 some 所有逻辑都在结构中的边缘情况,但通常你需要附加一个主体块或语句。


不相关,但这里 new PInfo() 没有理由:

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