判断Integer或Long值相等最好不用==

时间:2022-10-13 16:15:43


    public static void main(String[] args) {
Integer a = 3;
Integer b = new Integer(3);
System.out.println(a==b);
System.out.println(a.equals(b));
}


发现a==b时,为false,a.equals(b)为true。

后来发现因为我b的值是从数据中拿出的一个对象的值。a和b的id不相同,所以导致了a==b为false。

得出的结论,Integer为对象,如果判断相等要用equals,而不能用==。

如果是判断两个int值相等,则可以用==;