我正在尝试用这种 switch 表达式重构一些(java)代码:
protected Type soSomething(Object param1, Object param2, Object param3) {
switch (param1) {
case A:
return new TypeA(param1, param2, param3);
case B:
return new TypeB(param1, param2, param3);
.......
....
...
通常,我使用字典来进行这种重构
Map map = [
A : valueA
B : valueB
....
]
return map[param1]
我的问题是我需要一个新的类型实例。 有什么想法吗?
最佳答案
我的建议是按照您的 map 想法,但将类型存储为值:
Map map = [
A : TypeA,
B : TypeB,
....
]
然后你可以很容易地做到这一点:
return map[param1].newInstance(param1, param2, param3)
关于java - 使用对象初始化重构开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32568958/