关于Long数据类型的比较

Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象
如果比较两个Long对象值是否相等,则不可以使用双等号进行比较,可以采用如下方式:

Long是一个类,比较大小时如果数据小于128L时,用equals和== 都是可以的,

重点是数据在128L时;

但超过128L再用==比较大小就会出问题,所以Long比较大小统统都要用equals,简单不会出错,代码执行结果如下:
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());

建议还是用.equals()方法来比较。----------------此处是重点

Long i = 12L;
Long j = 12L;
Long m = 195L;
Long n = 195L;
System.out.println(i=j);//true
System.out.println(m=n);//false
System.out.println(i.equals(j));//true
System.out.println(m.equals(n));//true

原文地址:https://www.cnblogs.com/smailpeanut/p/7388424.html