デジタル:
私は以下のように2つのリストを持っています
List<String> pathNames = Lists.newArrayList("/state", "/country", "/country/name");
List<String> newPaths = Lists.newArrayList("/country/name");
私は以下のように試合と戻りブール値を見つけるために、二つのリストを反復処理するために、各Javaコードのための通常の持っています
if(CollectionUtils.isNotEmpty(pathNames)) {
for (String path : newPaths) {
for (String reqPath: pathNames) {
if(FilenameUtils.wildcardMatch(path, reqPath)) {
return true;
}
}
}
}
しかし、私はリファクタリングしたいとJava8で同じことを行う、任意の助けに感謝することができます。
ernest_k:
あなたは、リストや通話の両方のストリームパイプラインを使用することができますanyMatch
:
return CollectionUtils.isNotEmpty(pathNames) &&
newPaths.stream().anyMatch(np ->
pathNames.stream().anyMatch(pn -> FilenameUtils.wildcardMatch(np, pn)));