假设您有一个包含 3 个字符串的字符串数组 arr。要比较其值,您只需执行以下操作:
if (arr[0].equals(arr[1]) && arr[0].equals(arr[2] && arr[1].equals(arr[2]) {
return true;
}
但是如果该数组有数百个字符串怎么办?比较所有值的最佳方法是什么?
我想过使用 for 循环,但 Java 不允许在条件语句中使用循环。有什么想法吗?
最佳答案
这个 1-liner 怎么样:
return Arrays.stream(arr).distinct().count() == 1;
此代码巧妙地处理空(但不是 null)数组,如果为空则返回 false
。
如果要在数组为空时返回true
,将测试更改为:
return Arrays.stream(arr).distinct().count() < 2;
关于java - 用于比较数组的所有字符串值的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35400118/