switch for type string for java 1.6
java, switch-statement
Solution
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) {
}
}
Problem
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")) ```