我的想法奏效了,但我怀疑这是一个糟糕的代码,我想知道为什么StackOverflow重做我没有按预期工作。
我将在一个块中显示这两个代码位。只需切换哪个“if”行被注释和不被注释,就可以在工作版本和不工作版本之间切换。
import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List result0 = Arrays.asList("/Videos/Templates/file.mp4", "/Videos/Templates/file2.mp4", "/Videos/Templates/file3.mp4");
List result2 = Arrays.asList("/Videos/Templates/file.mp4.sha256");
for (int i = 0; i < result0.size(); i++) {
List finalResult = result0;
int finalI = i;
// if (result2.parallelStream().anyMatch(x -> x.contains(finalResult.get(finalI)))) {
if (result2.parallelStream().anyMatch(finalResult.get(finalI)::contains)){
System.out.println("sha matches files: " + result0.get(i));
}
}
}
}