【发布时间】:2019-02-04 07:23:46
【问题描述】:
我想在字符串数组中找到一个子字符串,而不使用循环。我正在使用:
import java.util.Arrays;
public class MyClass {
public static void main(String args[]) {
String[] files = new String[]{"Audit_20190204_061439.csv","anotherFile"};
String substring= ".csv";
if(!Arrays.stream(files).anyMatch(substring::contains)) {
System.out.println("Not found:" + substring);
}
}
}
我总是找不到。这种方法有什么问题?
【问题讨论】:
-
您只是通过流隐藏循环。这并不比一个简单易懂的
for循环更好,也不会更快。 -
相反,看看过度使用 lambdas 是如何导致你犯了一个很难发现的错误(错误的子字符串函数中的参数顺序)。
标签: java arrays java-stream