Seb*_*URE 3 java if-statement simplify
我需要一些建议.我有这样的方法:
Private String myMethod(int a_var) {
String l_myString = "Hello";
if (a_var == 1) {
l_myString = "Hi";
}
if (a_var == 2) {
l_myString = "Hey";
}
return l_myString
}
Run Code Online (Sandbox Code Playgroud)
等等......我有10个这样的声明,老实说我不知道如何简化这个.我期待在网上找到如何做到这一点,但似乎我的搜索并不准确,所以如果我能有一些建议!
如果您的方法是按照它的显示方式构建的,并且值是预定义的,那么您也可以使用数组;
final static String[] output = {"Hey", "Ho", "Hallo", "Hi"};
...
public String method(int input) {
return input-1 >= 0 && input-1 < output.length ? output[input-1] : "hello";
}
Run Code Online (Sandbox Code Playgroud)
编辑:确保输出在范围内
如果您可以在数字和问候语之间进行预定义的映射,则可以执行以下操作:
public class Greeter {
private Map<Integer, String> mapping = new TreeMap<Integer, String>() {{
put(1, "Hi");
put(2, "Hey");
}};
public String myMethod(int number) {
String greet = mapping.get(number);
return mapping != null ? mapping : "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |