我有以下代码:
void f(String t)
{
if(t.equals("a"))
{
someObject.setType(ObjectType.TYPE_A);
}
else if(t.equals("b"))
{
someObject.setType(ObjectType.TYPE_B);
}
// 50 more similar code
}
有没有什么简单的方法可以重写 if-else 条件,以免有那么多代码?
最佳答案
你应该使用一些东西来消除 someObject.setType(ObjectType....))
如果 ObjectType
是一个 enum
的重复,然后在那里编写一个类似于 valueOf
的方法来实现这一点。看看你是否喜欢这种解决方案:
void f(String t) { someObject.setType(ObjectType.byName(t)); }
enum ObjectType {
TYPE_A, TYPE_B;
public static ObjectType byName(String name) {
return valueOf("TYPE_" + name.toUpperCase());
}
}
关于java - 减少 Java 中的 if-else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410729/