首页   快速返回

java number 比较陷阱     所属分类 java
public class NumberEqual {
	
	public static void main(String[] args) throws Exception {			
		Long longValue = 0L;
		Number num = longValue;
		// false !!!
		System.out.println("num.equals(0)="+num.equals(0));
		// true 
		System.out.println("num.equals(0L)="+num.equals(0L));
		// true
		System.out.println("num.longValue()==0 is "+(num.longValue()==0));
		// true 推荐这种写法
		System.out.println("num.intValue()==0 is "+(num.intValue()==0));	
	}
	
}

num.equals(0)=false
num.equals(0L)=true
num.longValue()==0 is true
num.intValue()==0 is true


Long equals 方法 先比较类型 !!! 

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

上一篇     下一篇
mysql连接信息查看

Java锁机制

java资源加载方式比较

手机4G信号突然变成2G信号

JVM性能分析利器 JMC 和 JFR

Timer和ScheduledExecutorService的区别