什么是死代码



这是我的代码,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等控制语句之后(有些边缘情况下,所有逻辑都在结构中,但通常需要在它们后面附加一个主体块或语句)。


无关,但这里没有new PInfo()的原因:

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

相关内容

  • 没有找到相关文章

最新更新