今天在写程序的时候遇到了比较两个Long型的值是否相等的问题,一般来说都会用long1 == long2 这种形式,可是今天却遇到了问题,于是看了下源码。
发现 当long型的值 超过了[-128,128]的时候,他会new 一个新的对象,如果没超过就会放到缓存中。所以 用"=="判断 就一定不会相同了。
今天在写程序的时候遇到了比较两个Long型的值是否相等的问题,一般来说都会用long1 == long2 这种形式,可是今天却遇到了问题,于是看了下源码。
发现 当long型的值 超过了[-128,128]的时候,他会new 一个新的对象,如果没超过就会放到缓存中。所以 用"=="判断 就一定不会相同了。