问题描述
考虑如下 Java 函数 -
public MutablePair<List<String>,Boolean> getItemPair(Map<String,Object> myMap){
MutablePair<List<String>,Boolean> SampleList(Map<String,Object> objectMap){
MutablePair<List<String>,Boolean> finalMutablePair = new MutablePair<>;
List<String> FinalList = new ArrayList<>();
Boolean b = true;
if(objectMap.get("a").toString().contains("Animal")){
FinalList.add("Is an Animal");
if(objectMap.get("w").toString().contains("Wild")){
FinalList.add("Is a wild Animal");
if(objectMap.get("b").toString().contains("Beautiful")){
FinalList.add("Is a beautiful Animal");
}
else{
FinalList.add("Is not beautiful Animal");
b = false;
}
}
else{
FinalList.add("Is not a wild Animal");
b= false;
}
}
else{
FinalList.add("Is not an Animal");
b = false;
}
finalMutablePair.first = FinalList;
finalMutablePair.second = b;
return finalMutablePair;
}
}
在这种情况下,if elses 最多可以嵌套 3 层。但在实际用例中,它可能远远超过 3 个。我的目标是在配置文件中定义条件,以删除这些嵌套的 if elses。我正在考虑在这些行上定义一个 json 文件或 jsonpath 或其他内容,以便可以将 Map 作为输入和 List of Strings 给出,并且可以返回 Boolean 作为输出。此外,配置文件可以在许多其他地方使用,因此删除了多余的代码。 有人可以通过答案或代码链接向我建议,如何实现?在配置文件中寻找定义条件
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)