2个Integer比较不能用 ==

发布时间 2023-09-04 12:59:07作者: 爱新觉罗LQ


举例子

Integer num1 = 10;
Integer num2 = 10;
System.out.println(num1 == num2); // true

Integer num3 = 200;
Integer num4 = 200;
System.out.println(num3 == num4); // false

Integer num5 = new Integer(10);
Integer num6 = new Integer(10);
System.out.println(num5 == num6); // false

System.out.println(num5.equals(num6)); // true

1. 判断是否相等使用 equals()

2. 判断大小 compareTo()方法

for (Character character : targetMap.keySet()) {
	if (targetMap.get(character).compareTo(map.getOrDefault(character, -1)) > 0){
		return false;
	}
}