Java-内部ArrayList循环未执行预期的功能

时间:2018-07-10 22:51:07

标签: java arraylist size lastindexof

此代码按预期工作:迭代外部ArrayList(覆盖),并迭代内部ArrayList(covArrayList),当内部ArrayList包含“ noBaseData”时,将在末尾添加5个空元素。

    //add empty elements for coverage data when noBaseData found:
    for(int i = 0; i<coverage.size(); i++)
    {
        if(coverage.get(i).contains("noBaseData"))
        {
            for(int j=0; j<5; j++)
            {
                coverage.get(i).add("");
            }//end for(int j)
        } //end if(!coverage)
    } //end for(i)

此代码无法正常工作:

    //add empty elements when coveragy by only one base station:
    for(int i = 0; i<coverage.size(); i++)
    {
        if(coverage.get(i).size()<6);
        {
            for(int j=0; j<2; j++)
            {
                coverage.get(i).add("");
            }//end for(int j)
        }//end if(coverage)

所需结果: 它迭代外部ArrayList(覆盖),并迭代内部ArrayList(covArrayList),并且当内部ArrayList的.size()小于6(也尝试过5和7)时,会将两个空元素添加到末尾。 / p>

实际结果: 它将两个空元素添加到每个内部ArrayList中。

插入“ System.out.println(coverage.get(i).size());”在“ if(coverage.get(i).size()<6)”之前,返回内部ArrayList的正确大小(5或7)。

在“ if(coverage ...);”之前插入“ System.out.println(coverage.get(i).toString();”)证实了所报告的.size()。

在循环返回.size()/ toString()并添加空元素后,放入“ System.out ...”。

ArrayList覆盖率示例内容:

  

[[AA-123-12345-SP1.SSF,,100,100,guug04914003.zip],[AA-123-23451-SP1.SSF,noBaseData,,,,,],[AA-123-23451 -SP2.SSF,,,100,4,guug04914003.zip,100,guug04914022.zip]]

“ if(coverage.get(i).lastIndexOf()<6)”将不会编译。讯息:

  

.java:208:错误:接口List中的方法lastIndexOf无法应用于给定类型;               if(coverage.get(i).lastIndexOf()<4);                                 ^     必需:对象     找到:没有参数     原因:实际和正式论点清单的长度不同     其中E是类型变量:       E扩展接口列表中声明的对象   1个错误

我很困惑。有人有什么想法吗?

编辑:rgettman指出了我的错误。我的if语句后有一个分号。 我低下头!!

0 个答案:

没有答案