假设你有一个包含3个字符串的字符串数组arr.要比较其值,您只需执行以下操作:
if (arr[0].equals(arr[1]) && arr[0].equals(arr[2] && arr[1].equals(arr[2]) {
return true;
}
Run Code Online (Sandbox Code Playgroud)
但是如果那个数组有数百个字符串呢?比较所有值的最佳方法是什么?
我想过使用for循环,但Java不允许在条件内循环.有任何想法吗?
这个1班轮怎么样:
return Arrays.stream(arr).distinct().count() == 1;
Run Code Online (Sandbox Code Playgroud)
此代码整齐地处理空(但不是null)数组,false
如果为空则返回.
如果要true
在数组为空时返回,请将测试更改为:
return Arrays.stream(arr).distinct().count() < 2;
Run Code Online (Sandbox Code Playgroud)