我有一個類,比如Test;在那裏是一個嵌套的靜態類,比如TestParams。只有確定變量是否在類中聲明
TestParams包含一些字符串變量指的是Test類
我現在面臨的問題是,在測試類的制定者,我需要驗證,如果設定的參數是聲明的則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 2014-10-07 11:40:29
做一個枚舉並使用'Enum.valueOf(String)!= null'? – 2014-10-07 11:41:07
但是,使用所有可能的密鑰並使用'contains'方法只是有'Set'這不容易嗎? –
talex
2014-10-07 11:41:38