Низкая производительность многих операторов if-else в Java

У меня есть метод, который проверяет все комбинации 5 различных условий с 32 операторами if-else (подумайте о таблице истинности). 5 разных букв представляют методы, каждый из которых выполняет свои собственные регулярные выражения в строке и возвращает логическое значение, указывающее, соответствует ли строка регулярному выражению. Например:

if(A,B,C,D,E){

}else if(A,B,C,D,!E){

}else if(A,B,C,!D,!E){

}...etc,etc.

Однако это действительно влияет на производительность моего приложения (извините, я не могу вдаваться в подробности). Может ли кто-нибудь порекомендовать лучший способ обработки такой логики?

Каждый метод, использующий регулярное выражение, выглядит так:

String re1 = "regex here";
Pattern p = Pattern.compile(re1, Pattern.DOTALL);
Matcher m = p.matcher(value);
return m.find();

Спасибо!

8
задан littleK 25 October 2011 в 15:09
поделиться