У меня есть массив, и я хочу найти в нем строки, начинающиеся с "test" (например); каков наиболее эффективный способ поиска этих установленных префиксов? Регулярные выражения или операторы if?
Регулярное выражение:
boolean found = false;
for (String line: ArrayList){
Pattern pattern =
Pattern.compile("^test"); //regex
Matcher matcher =
pattern.matcher(line);
while (matcher.find()) {
found = true;
}
if(found){
doSomething();
}
}
}
если Заявление:
for (String line : ArrayList) {
if (line.startsWith("test"){
doSomething();
}
Что наиболее эффективно?
Какой метод наиболее эффективен для более длинных строк?
Если я хочу найти строки, начинающиеся с «test», но затем только те, у которых есть «foo» после «test», какой метод лучше?
Если Regex является ответом, каков правильный синтаксис для того, чтобы сказать, что он начинается с «test», за которым следует «foo» или «bar», но не оба?
StringUtils.startsWithAny(String string, String[] searchStrings)
- person Francisco Spaeth   schedule 12.07.2012