加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 返回值的反转

发布时间:2020-12-15 04:13:06 所属栏目:Java 来源:网络整理
导读:我有一个标志,我想传递给一个函数,该函数根据map中的值返回true或false: // userList is a ListString and is stored as the value field in a map// user is a Stringif(flag){ if (userList == null) return false; else if(userList.size() == 0) return
我有一个标志,我想传递给一个函数,该函数根据map中的值返回true或false:

// userList is a List<String> and is stored as the value field in a map
// user is a String
if(flag)
{
    if (userList == null)
        return false;
    else if(userList.size() == 0)
        return true;

    return userList.contains(user);
}
else
{
    if (userList == null)
        return true;
    else if(userList.size() == 0)
        return false;

    return !userList.contains(user);
}

我的问题是:无论如何要整理这个代码,有很多复制(if和else块是相同的,除了它们的返回值是彼此相反的).

我不是一个非常有经验的代码,我真的很感激一些指导!

解决方法

使用标志值而不是常量.

if (userList == null)
    return !flag;
else if(userList.size() == 0)
    return flag;

XOR将用于最后的陈述(留给读者的练习:-p)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读