如果有的话,有没有办法简化/改进这个?

问题描述 投票:0回答:1

这里是新手,使用 Java 11 并尝试找出是否有更好的方法来编写以下代码:

if(code == 1){
    return (ClassName.static_list1.contains(string_object));
}else if(code == 2){
    return (ClassName.static_list2.contains(string_object));
}else if(code == 3){
    return (ClassName.static_list3.contains(string_object));
}else if(code == 4){
    return (ClassName.static_list4.contains(string_object));
}else{
    return false;
}

该方法返回一个布尔值,这些列表来自常量类。请告诉我是否可以改进。

java if-statement java-11
1个回答
0
投票

除了使用 switch 语句(如上所述)之外,您还应该考虑创建一个基于传入的代码仅返回列表的方法。您当前的代码将“contains(string_object)”语句复制到每个分支上。我处理这个问题的方法如下(伪代码):

var list = ClassName.getList(code); // implement static "getList" with a switch-statement
if (list)
    return list.contains(string_object);
else
    return false;
© www.soinside.com 2019 - 2024. All rights reserved.