码迷,mamicode.com
首页 > 编程语言 > 详细

java Long、Integer 、Double、Boolean类型 不能直接比较

时间:2017-01-20 22:09:32      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:float   https   val   注意   内存   ext   als   equals   a long   

测试:

System.out.println(new Long(1000)==new Long(1000));
System.out.println(new Integer(1000)==new Integer(1000));
System.out.println(new Double(1000d)==new Double(1000d));
System.out.println(new Float(1000f)==new Float(1000f));
System.out.println(new Boolean(true)==new Boolean(true));
System.out.println(new Short("400")==new Short("400"));

false
false
false
false
false
false

Long 类型指的是   java.util.Lang 对象,而不是基本类型 long  (注意大小写)
Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象
如果比较两个Long对象值是否相等,则不可以使用双等号进行比较,可以采用如下方式:
1. 使用 equals 方法
Long a = new Long(3);
Long b = new Long(3);
System.out.println(a.equals(b));
2. 使用 Long 类型中的 longValue() 方法进行比较,如

Long a = new Long(3);
Long b = new Long(3);
System.out.println(a.longValue()==b.longValue());

java Long、Integer 、Double、Boolean类型 不能直接比较

标签:float   https   val   注意   内存   ext   als   equals   a long   

原文地址:http://www.cnblogs.com/xujishou/p/6327870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!