8
public static boolean isCompatibleForMultiplcation(final Matrix a, final Matrix b)  
    {
        if (a == null)
        {
            throw new IllegalArgumentException("a cannot be null");
        }
        if (b == null)
        {
            throw new IllegalArgumentException("b cannot be null");
        }

        if(!(a.getNumberofColumns()== b.getNumberOfRows()))
        {
            return false;
        }
        else
        {
            return true;
        }

    }

对于以下方法,我在 checkstyle 中得到一个“条件逻辑可以被删除”参数。我似乎无法弄清楚为什么......有人可以给我一个指针吗?

4

1 回答 1

15

它在这里抱怨这部分:

    if(a.getNumberofColumns() != b.getNumberOfRows())
    {
        return false;
    }
    else
    {
        return true;
    }

每当您看到自己编写这样的代码时,您只需从 if 语句中返回条件即可轻松地将其替换为一行:

return a.getNumberofColumns() == b.getNumberOfRows();

true如果 a 的列数和 b 的行数相等,则此语句将返回,false否则返回。

于 2013-01-26T00:47:00.360 回答