Java - 将单个String值与ArrayList中的所有String值进行比较

jus*_*ous 1 java string list arraylist

我有ArrayList一组(相同的)字符串值,我需要与单个String值进行比较并返回true或false.在Java中有没有办法做到这一点?

例如,假设我有<String>ArrayList5个值= foo,foo,foo,foo,foo(我的要求是arraylist中的所有值都是相同的)并且我有一个String str = "foo".我需要验证arraylist中的所有值是否为SAME作为字符串值,即,arraylist中的所有值应该是"foo".

我试图谷歌这个信息,所有我能看到的建议contains()是以不同的方式使用方法,即使arraylist中的任何值包含指定的值,它也将返回true.

我甚至想到了一个解决方法 - 使用预期值创建另一个arraylist并使用equals()方法比较两个列表,它似乎正在工作.我只是想知道是否有任何简单的方法来实现这一目标.

ste*_*fen 13

使用Java 8很简单:

String str = "foo";
List<String> strings = Arrays.asList("foo", "foo", "foo", "foo", "foo");
boolean allMatch = strings.stream().allMatch(s -> s.equals(str));
Run Code Online (Sandbox Code Playgroud)

对于Java 7,将最后一行替换为:

boolean allMatch = true;
for (String string : strings) {
    if (!string.equals(str)) {
        allMatch = false;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • Java 8正在推出.+ 1 (3认同)