这是我的代码,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;
}
}
答案 0 :(得分:11)
由于此处;
:
if(pinfo.pname.contains("com.imdb.mobile"));
// ----------------------------------------^
;
为if
提供了一个空体,因此后面的块不会与if
相关联,因此break;
1}}总是发生,i++
中的for
永远不会到达。
您通常不会在;
,for
,while
之类的控制语句之后添加if
等等(有一些边缘情况所有逻辑都在结构中,但通常你需要一个体块或声明附加到它们。)
无关,但这里没有new PInfo()
的理由:
PInfo pinfo = new PInfo();
// ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);