-3
String site_inclusion = "0;100";

for (String inc: site_inclusion.split(";")) {
   if(!inc.equals(String.valueOf(record.getAttrs().get(new PdsxAttrKey("SiteId")).getValue()))) {
      continue;         
   }
}

record.getAttrs().get(new PdsxAttrKey("SiteId")).getValue()返回77

所以从我的代码来看,它应该会continue阻塞吗?但它不会继续吗?

有什么建议么?

4

2 回答 2

1

我建议您简化代码以测试发生了什么。您可能在尝试构建示例时犯了错误。

String site_inclusion = "0;100";

for (String inc: site_inclusion.split(";")) {
    String temp = String.valueOf(record.getAttrs().get(new PdsxAttrKey("SiteId")).getValue());
    if(!inc.equals(temp)) {
        System.out.println(inc + " != " + temp);
        continue;
    }
    System.out.println(inc + " == " + temp);
}
于 2012-06-04T23:33:46.323 回答
0

最好检查一下变量是什么(System.out.println/debugging)。它没有按照您认为的方式进行的原因肯定是if语句中的条件。

尝试将您的代码分成更小的部分。

String site_inclusion = "0;100";
            for(String inc : site_inclusion.split(";")) {
                int value = record.getAttrs().get(new PdsxAttrKey("SiteId")).getValue();
                System.out.println("Inc = " + inc + " and value = " + value);
                if(!inc.equals(String.valueOf(value))) {
                    System.out.println("continue");
                    continue;
                }
                System.out.println(inc + " equals " + value);
            }
于 2012-06-04T23:35:09.830 回答