Мой код Java выглядит так:Java проверяет несколько строк внутри списка
public List<Lookup> findAll(List<String> types, String lang) {
Query query = entityManager.createNamedQuery("Lookup.myQuery");
List<Lookup> result = new ArrayList<Lookup>();
for (String type : types) {
// check if isValidLookupTypeOrCode(type) && isValidLang(lang))
// if yes, do query.setParameter("lookupTypes", types) & query.setParameter("lang", lang);
// result = query.getResultList();
}
return result;
}
private boolean isValidLookupTypeOrCode(String s) {
String pattern = "^[a-zA-Z0-9\\_]*$";
if (s.matches(pattern)) {
return true;
}
return false;
}
private boolean isValidLang(String s) {
String pattern= "[a-zA-Z]{1,3}$";
if (s.matches(pattern)) {
return true;
}
return false;
}
Теперь, как обновить код внутри моего FindAll() метод, как мне нужно, чтобы проверить, если каждый из строки внутри типов списка проходит регулярное выражение (isValidLookupTypeOrCode) и одну строку Ланг также проходит регулярное выражение (isValidLang)
Каков наилучший способ проверить 2 условия? так как isValidLang() необходимо проверять только один раз, но isValidLookupTypeOrCode() нужно запускать в каждой строке списка?