我正在研究一个包含几个对象类的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