为 java 1.6 切换类型字符串 [英] switch for type string for java 1.6
本文介绍了为 java 1.6 切换类型字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码,我想知道是否有办法使用 switch 块而不是一堆 if/else 语句.我知道 Java 从 Java 1.7 开始支持 switch 块中的字符串,但我仍在使用 Java 1.6:
I have the following code and I'm wondering if there is a way to use a switch block instead of a bunch of if/else statements. I know that Java supports strings in switch blocks as of Java 1.7 but I'm still working with Java 1.6:
} else if (typeName.equals("Boolean")) {
return new SwitchInputType<Boolean>(new Boolean((String) memberValue));
} else if (typeName.equals("Double")) {
return new SwitchInputType<Double>(new Double((String) memberValue));
} else if (typeName.equals("Int32"))
推荐答案
你甚至可以让 enum
为你做:
You could even make the enum
do it for you:
public static void main(String[] args) throws InterruptedException {
String typeName = "Boolean";
String memberValue = "memberValue";
SwitchInputType type = Type.valueOf(typeName).makeType(memberValue);
}
enum Type {
Boolean {
SwitchInputType makeType(String memberValue) {
return new SwitchInputType<Boolean>(new Boolean(memberValue));
}
},
Double {
SwitchInputType makeType(String memberValue) {
return new SwitchInputType<Double>(new Double(memberValue));
}
},
Int32 {
SwitchInputType makeType(String memberValue) {
return new SwitchInputType<Integer>(new Integer(memberValue));
}
};
// All must do this.
abstract SwitchInputType makeType(String memberValue);
}
static class SwitchInputType<T> {
public SwitchInputType(Object o) {
}
}
这篇关于为 java 1.6 切换类型字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文