我正在研究一個包含幾個對象類的Maven項目。我的代碼圍繞着控制IntrAnet和IntErnet域中獨立的三個不同環境中特定功能的開始時間和結束時間進行控制。所以,我的目標結構看起來像:在這種情況下,我將如何使用Java反射?
IntrAnet:
env1:
startTime:
endTime:
env2:
startTime:
endTime
IntErnet:
env1:
startTime:
endTime:
...
現在,在我的控制器類,我想用開始時間和結束時間取決於什麼樣的環境和域用戶在所以我有一些代碼,看起來像:
if(domain == "IntrAnet") {
if(env == "env1") {
String startTime = overallClassVO.env1IntrAVO.getStartTime();
String endTime = overallClassVO.env1IntrAVO.getEndTime();
...
}
if(env == "env2") {
String startTime = overallClassVO.env2IntrAVO.getStartTime();
String endTime = overallClassVO.env2IntrAVO.getEndTime();
...
}
}
if(domain == "IntErnet") {
if(env == "env1") {
String startTime = overallClassVO.env1IntErVO.getStartTime();
String endTime = overallClassVO.env1IntErVO.getEndTime();
...
}
if(env == "env2") {
String startTime = overallClassVO.env2IntErVO.getStartTime();
String endTime = overallClassVO.env2IntErO.getEndTime();
...
}
}
我的代碼稍微複雜一點,但這是一般的想法。我知道反射在通過在運行時基於對象調用類來簡化重複代碼時很有用,但是我想知道在這種情況下是否可以使用反射。
讓我們弄清楚一點:[這不是你如何比較字符串。](http://stackoverflow.com/q/513832/1079354) – Makoto
@Makoto如果這是產品代碼,我會同意你的看法:)我只是輸入這個作爲一個快速的例子來顯示我正在嘗試做什麼。 – user3334871
你不需要使用反射。你可以使用'Map',無論如何你幾乎肯定會使用這個'Map'。什麼是'env1IntrAVO'等? – Radiodef