У меня есть класс, например Test; внутри которого находится вложенный статический класс, скажем, TestParams. толькоОпределить, объявлена ли переменная в классе
TestParams содержит некоторые переменные типа String, относящиеся к классу Test
Проблема, с которой я столкнулся в том, что, в сеттеры класса Test, мне нужно проверить, если набор параметров является одним из Params заявленных в класс Парамса.
Сценарий показано в коде ниже:
public class Test {
protected String n;
protected int num;
public static class TestParams {
public static final String PARAM_N="n";
public static final String PARAM_NUM="num";
}
public void setParam(String key, Object value) {
// Need to check here the if key is defined in TestParams
// keep adding conditions to IF statement when more params added??
if(key.equals(TestParams.PARAM_N) || (key.equals(TestParams.PARAM_NUM))
// Do some stuff
}
}
Есть ли способ заменить оператор IF с несколькими условиями? (Что-то вроде , если ключ в TestParams() или, возможно, некоторые другие конструкции для структуры кода
Вы можете попробовать отражение – talex
Сделать перечисление и использовать, 'Enum.valueOf (String)! = Null'? –
Но разве не просто просто «Установить» со всеми возможными ключами и использовать метод 'contains'? –
talex