클래스가 있습니다 (예 : Test). 그 안에는 중첩 된 정적 클래스 인 TestParams가 있습니다.변수가 클래스에 선언되어 있는지 확인하십시오.
TestParams만을 테스트 클래스를 참조 일부 문자열 변수를 포함 내가 직면하고 문제는 테스트 클래스의 세터에, 내가 설정 매개 변수에 선언 된 PARAMS 중 하나입니다 있는지 확인해야한다는 것입니다
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을 만들고 'Enum.valueOf (String)! = null'을 사용 하시겠습니까? –
하지만 가능한 모든 키를 가지고'Set'을 사용하고'contains' 메소드를 사용하는 것이 쉽지 않을까요? –
talex