比较可以为null和空字符串的对象("")

时间:2014-10-06 12:58:44

标签: java object null string

你好我已经到了这样一个地步,我需要一个比较来自不同来源的2个对象的函数,除此之外它还比较字符串,同时形成一个源iget为null,另一个是空对象字符串。

我的代码是

private static boolean areDifferent(Object o1, Object o2) {
    if ("".equals(o1)) {
        o1 = null;
    }
    if ("".equals(o2)) {
        o2 = null;
    }
    if (o1 == null || o2 == null) {
        return !(o1 == o2);
    }
    return !o1.equals(o2);
}

有没有更好的方法来写这个?

1 个答案:

答案 0 :(得分:4)

你可以使用三元组(我会将null转换为""):

return !(o1 == null ? "" : o1).equals(o2 == null ? "" : o2);