java中Long类型和long类型的大小比较

在开发过程中老犯一些低级错误,基础还得好好加强啊......
今天遇到这样一个问题,我用 "=="来比较两个Long类型的数据,明明数值都相等,可是结果就是false,后来仔细想想,Long在java中是一个引用类型,而long类型是java中的一个基本数据类型,用来表示数值。如果用'=='去比较Long类型数据的话,比较的是它的引用地址,此时即使数值相等,而地址不相同,返回的结果永远是false;而比较long类型是是可以用‘==’比较的,此时比较的是值
Long类型数据比较:

1.Long对象的.equals()方法:

    Long l1 = new Long(10);
    Long l2 = new Long(10);
    System.out.println(l1.equals(l2));

2.Long对象的longValue()方法

    Long l1 = new Long(10);
    Long l2 = new Long(10);
    System.out.println(l1.longValue() == l2.longValue);

long类型数据的大小比较:

可以直接用 '>' '=' '<'比较

    long l1 = 10;
    long l2 = 15;
    System.out.println(l1 == l2);
    System.out.println(l1 > l2)

  

原文地址:https://www.cnblogs.com/taiyanhong/p/9052073.html