你直接写 if(n!=m)你看看return false不
你直接用n和m比较下看看
你确定return false执行了。在return false前加输出看看是不是执行了这个if分支,还别的地方返回的 false
你直接输出下map.get(key)看看是什么类型?
map.get()获取的可能是小数,是小数就不一定相等,如153.0001和153.0002,n和m是整形变量。赋值给n和m就变成整形了
或者map.get()获取的是一个对象,对象是按地址比较的, 两个对象地址不同比较就不相等。
Map对应的value是Integer类型吧
不相等是因为返回的类型是Integer封装类型,不是基本类型。所以在==比较的时候,会比较地址是否相等。需要换成equals()方法进行比较。
比较的上面,你用int基本类型接收Integer类型是可以的,因为会自动转换。