-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 / debuging)を確認することをお勧めします。それがあなたが思うように進まない理由は、確かに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 に答える