带有ArrayList的Java for循环

DDD*_*DDD 7 java for-loop arraylist

这是我的ArrayList的内容 contain

HPDH-1,001, Check-out date: 7/7/7

JTI-1,001, Check-out date: 7/7/7
Run Code Online (Sandbox Code Playgroud)

我的代码:

for (int i = 0; i < contain.size(); i++) {
    if (contain.get(i).contains(code)) {
        System.out.println(contain.get(i));
    }
}
Run Code Online (Sandbox Code Playgroud)

事情是我的变量代码是字符串"JTI-1"为什么不给它JTI-1输出?我试图让它显示变量代码的值.我想删除contains.get(i),如果它只是给我输入的那个.

Bri*_*new 10

我认为从根本上说代码是正确的.我会检查你的输入,并确保它们真的是你的想法.

我可能会将你的循环重写为:

for (String s : contain) {
   if (s.contains(code)) {
      // found it
   }
}
Run Code Online (Sandbox Code Playgroud)

使用对象迭代器(上面假设你有ArrayList<String>).也许重命名contain.目前还不是很清楚这是什么.


Ami*_*nde 8

假设字符串列表,代码是正确的. I have not modified any of your source code just to give you idea that it works fine.

    List<String> contain = new ArrayList<String>();
    contain.add("HPDH-1,001, Check-out date: 7/7/7");
    contain.add("JTI-1,001, Check-out date: 7/7/7");
    String code = "JTI-1 ";
    for (int i = 0; i < contain.size(); i++) {
        if (contain.get(i).contains(code.trim())) {<---Use trim it is possible that code may have extra space
            System.out.println(contain.get(i));
        }
    }
Run Code Online (Sandbox Code Playgroud)