我遇到了将字符串与字符串arraylist匹配并获得单个布尔结果的问题。基本上,我使用for循环来进行匹配,我得到的只是一系列布尔值。但我想要的是,当所有布尔值中有一个时,它将返回一个单独的值,如果是全部,则返回单个值。代码如下。帮助T.T
import java.util.*;
public class NewClass {
public static void main(String [] args){
ArrayList <String> aList = new ArrayList <String>();
aList.add("I");
aList.add("Love");
aList.add("You");
aList.add("Black");
aList.add("Colored");
aList.add("Ferrari");
boolean match;
for(int i = 0; i < aList.size();i++){
match = aList.get(i).equals("Red");
System.out.print(match);
}
}
}
答案 0 :(得分:4)
包含应该做的伎俩
if (aList.contains("Red")) {
//cool
}
答案 1 :(得分:1)
找到匹配后你应该突破循环,并在循环外打印结果,如下所示:
boolean match = false ;
for(int i = 0; i < aList.size();i++){
match = aList.get(i).equals("Red");
if(match){
break;
}
}
System.out.print(match);
或者,较短的方法是不使用循环,而是调用列表的contains
方法:
boolean match = aList.contains("Red");
System.out.println(match);