什么是死代码?
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++
永远不会达到。
你通常不会把 ;
放在 for
、while
、if
等控制语句之后(有 some 所有逻辑都在结构中的边缘情况,但通常你需要附加一个主体块或语句。
不相关,但这里 new PInfo()
没有理由:
PInfo pinfo = new PInfo();
// ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);
这是我的代码,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++
永远不会达到。
你通常不会把 ;
放在 for
、while
、if
等控制语句之后(有 some 所有逻辑都在结构中的边缘情况,但通常你需要附加一个主体块或语句。
不相关,但这里 new PInfo()
没有理由:
PInfo pinfo = new PInfo();
// ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);