关于Java Integer和Long直接比较

Integer和Long不能直接equals比较会返回False

Long.class源码

`

public boolean equals(Object obj) {
    if (obj instanceof Long) {
        return this.value == (Long)obj;
    } else {
        return false;
    }
}

`

Integer.class源码

`

public boolean equals(Object obj) {
    if (obj instanceof Integer) {
        return this.value == (Integer)obj;
    } else {
        return false;
    }
}

`

解决方法

Long变量.equals(Integer变量.longValue()) 返回True

posted @ 2020-11-27 09:34  joyzher  阅读(3587)  评论(0编辑  收藏  举报