Доброе утро/день/ночь,Использование оператора OR внутри if или else else if?
Я нахожу простую функцию, которая возвращает логическое значение, если строка, заданная в качестве аргумента (в данном случае двухсимвольный код), сопоставляется.
Мне было интересно, какой из них будет считаться «лучшим», чтобы использовать это, будет ли он использовать ряд || операторы в пределах одного, если, как показано ниже:
private boolean isCodeSpecial(String code){
if(code.equalsIgnoreCase("AA") ||
code.equalsIgnoreCase("AB") ||
code.equalsIgnoreCase("SS") ||
code.equalsIgnoreCase("DD") ||
code.equalsIgnoreCase("YY") ||
code.equalsIgnoreCase("ZZ") ||
code.equalsIgnoreCase("AX")){
return true;
}
return false;
}
Или, возможно, используя ряд еще, если заявления, как ниже:
private boolean isCodeSpecial(String code){
if(code.equalsIgnoreCase("AA")){
return true;
}else if(code.equalsIgnoreCase("AB")){
return true;
}else if(code.equalsIgnoreCase("SS")){
return true;
}else if(code.equalsIgnoreCase("DD")){
return true;
}else if(code.equalsIgnoreCase("YY")){
return true;
}else if(code.equalsIgnoreCase("ZZ")){
return true;
}else if(code.equalsIgnoreCase("AX")){
return true;
}else{
return false;
}
}
Я не очень обеспокоен производительности в этом приложении, как я знаю, любые выигрыши/штрафы, вероятно, будут минимальными и почти незаметными - но, если возможно, я хотел бы знать, что в целом считается лучшей практикой для будущих ссылок. Думаю, можно было бы утверждать, что это именно то, что еще нужно для?
Спасибо заранее,
Edit: Забыл упомянуть, что я использую Java 1.6
Я бы сделал блок 'static' короче:' VALID_CODES.addAll (Array.sdll («AA», «AB», «SS», «DD», «YY», «ZZ», «AX "));' – Jesper
@Jesper: Это был вариант, да. Жаль, что 'TreeSet' не принимает как сборник *, так и * компаратор в конструкторе, если честно :( –