用于比较数组的所有字符串值的循环

Dra*_*eel 4 java arrays loops

假设你有一个包含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不允许在条件内循环.有任何想法吗?

Boh*_*ian 5

这个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)