Java 什么是死代码?

Java 什么是死代码?,java,android,dead-code,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")); { packagesModifi

这是我的代码,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;
            }
        }

for(int i=0;i,因为这里的

if(pinfo.pname.contains("com.imdb.mobile"));
// ----------------------------------------^
PInfo pinfo = new PInfo();
//         ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);
给了
if
一个空的主体,因此它后面的块没有连接到
if
,因此您的
中断;
总是发生,而
for
中的
i++
永远不会到达

您通常不会将
放在控制语句之后,例如
for
while
if
等等(在某些边缘情况下,所有逻辑都在结构中,但通常需要附加一个主体块或语句)


不相关,但没有理由在此处使用
新PInfo()

if(pinfo.pname.contains("com.imdb.mobile"));
// ----------------------------------------^
PInfo pinfo = new PInfo();
//         ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);