如何在java 8中检查多维字符串数组中包含的值。
到目前为止,我一直在使用它,
public boolean exists(String value) {
String[][] actType=Helper.getTypes();
for(int i = 0; i< actType.length; i++){
for (int j = 0; j<actType[i].length; j++){
if(actType[i][j].equals(value)){
return true;
}
}
}
return false;
}
我想知道,有没有java 8方法
答案 0 :(得分:1)
您可以使用嵌套的Stream.of(T values...)
将数组转换为流,然后使用方法引用:
public boolean exists(String value) {
String[][] actType=Helper.getTypes();
return Stream.of(actType).flatMap(Stream::of).anyMatch(value::equals);
}
Stream.of(actType)
会为您提供String[]
的流,flatMap
与另一个Stream::of
相结合,会为您提供String
的信息流。如果这些字符串中的任何一个等于您的值anyMatch
将返回true
。