切换为java 1.6的字符串类型
这个问题在这里已经有了答案:
你甚至可以让enum
为你做:
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) {
}
}
因为你的字符串都是有效的标识符,你可以用这些字符串作为项目标签创建一个枚举,使用Enum.valueOf(Class,String)(或者将在你的枚举类中创建的类似的valueOf(String)
方法)来转换到枚举类型的成员,然后切换到基于...
例:
enum TypeName { Boolean, Double, Int32 }
switch (TypeName.valueOf(typeName)) {
case Boolean: // ...
case Double: // ...
case Int32: // ...
}
Ankur已经提出了一种方法。 另一种方式是将这些定义为常量。 Ex - 私有静态最终字符串BOOLEAN =“1”;
开关(Integer.parseInt(BOOLEAN))情况1:...
案例2:...
等等。
链接地址: http://www.djcxy.com/p/84503.html