java中是否有任何实用程序函数对字符串数组中的每个元素执行String.startsWith
?
例如:
String[] s = {"ABC", "BBV", "ABCD", "NBHH"};
有没有办法:
array.startsWith("AB");
返回ABC
和ABCD
答案 0 :(得分:5)
您可以使用流API:
String[] result =
Arrays.stream(s)
.filter(a -> a.startsWith("AB"))
.toArray(String[]::new);
答案 1 :(得分:3)
如果您使用的是Java 8,则可以使用以下过滤器:
String[] result = Stream.of(s).filter(a -> a.startsWith("AB")).toArray(String[]::new);
如果要返回列表,可以使用:
List<String> rst = Stream.of(s).filter(a->a.startsWith("AB")).collect(Collectors.toList());
答案 2 :(得分:0)
如果您正在使用Stream
,则可以使用Java 8
。如果您不是,那么您可能想要使用以下解决方案:
String s[]={"ABC","BBV","ABCD","NBHH"};
for (String i : s) {
if (i.startsWith("AB")) { // startsWith() returns boolean
System.out.println(i);
}
}