这是我的代码,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
等控制语句之后(有些边缘情况下,所有逻辑都在结构中,但通常需要在它们后面附加一个主体块或语句)。
无关,但这里没有new PInfo()
的原因:
PInfo pinfo = new PInfo();
// ^^^^^^^^^^^^^^-- Unnecessary, since you're about to assign
pinfo = packages.get(i);