Java – inversion of return value

I have a flag that I want to pass to a function that returns true or false according to the value in the map:

// 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);
}

My problem is: there are many copies to clean up the code anyway (if and else blocks are the same, except that their return values are opposite to each other)

I am not a very experienced code, I really appreciate some guidance!

Solution

Use flag values instead of constants

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

XOR will be used for the final presentation (exercise for the reader: - P)

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>