用配置文件替换 if-elses

问题描述

考虑如下 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 (将#修改为@)