我使用了许多“or”操作符如何在java中重构代码

8mmmxcuj  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(252)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

5个月前关门了。
改进这个问题
我想重构我的代码。有很多“或”运算符我该怎么办?

public boolean validateRequireField(JSONObject tradeDeal){
        boolean status = true;

        if (!tradeDeal.has("Symbol") || !tradeDeal.has("Deal") || !tradeDeal.has("Position")) {
            status = false;
        } else if (tradeDeal.get("Symbol").equals("") || tradeDeal.get("Deal").equals("")
                || tradeDeal.get("Position").equals("")) {
            status = false;
        }

        return status;
 }
oyxsuwqo

oyxsuwqo1#

我会做一些类似的事情

public boolean validateRequireField(JSONObject tradeDeal){

    if(!tradeDeal.has("Symbol")  || tradeDeal.get("Symbol").equals("") ) {
        return false;
    }
    if(!tradeDeal.has("Deal")  || tradeDeal.get("Deal").equals("") ) {
        return false;
    }
    if(!tradeDeal.has("Position")  || tradeDeal.get("Position").equals("") ) {
        return false;
    }

    return true;
}
xzv2uavs

xzv2uavs2#

你可以尝试创建一个新的方法

boolean hasValue(String field) {
  return field != null && !field.equals("");
}

或者只是使用 StringUtils.isEmpty(...) 来自apachecommons或其他库。
这样你就可以改变 if ... else 到一个 if 仅对账单

相关问题