java是将字符串映射到其对应值的最佳方法
我想写一个方法,将输入字符串映射到其相应的值,例如:当我输入separator=“分号”时,我想将其值返回为“;”。我现在做的是使用switch case:
switch (separator) {
case "Semicolon":
return ';';
case "Comma":
return ',';
default:
return '-';
}
我只是想问一下,除了在这里使用switch case之外,还有没有其他解决方案具有相同的效果,但代码行可能更短。提前谢谢
# 1 楼答案
答案就在于你的措辞:映射。例如:
等等。或者使用Java9,使用新的of()方法从“文本”创建映射
然后你可以根据输入的字符串
get()
。或者,enum和EnumSet也可以派上用场# 2 楼答案
更优雅的方法是使用枚举:
然后你可以像这样使用它:
正如建议的那样,你也可以使用:
也许这样,你根本不需要任何开关/外壳。 我可以想象,你可以通过所需的“正确”分隔符