综上所述,在Java中判断两个long类型是否相等时,可以根据具体情况选择合适的方法。对于基本数据类型long,直接使用“==”操作符;对于Long类的包装类型,使用equals方法,并注意处理null值的情况。同时,要考虑long类型的范围和边界情况,以及自动装箱和拆箱对相等判断的影响。
除了使用Long类的equals()方法,我们还可以使用java.util.Objects类的equals()方法来判断两个long类型的值是否相等。该方法是在Java 7中引入的,用于比较两个对象是否相等。 Longa=10L;Longb=10L;if(Objects.equals(a,b)){System.out.println("a和b相等");}else{System.out.println("a和b不相等");} 1. ...
方法一:使用equals方法 Java中的Long类提供了equals方法,用于比较两个Long对象是否相等。我们可以将两个长整型数值封装成Long对象,然后使用equals方法进行比较。 longnum1=123456789L;longnum2=987654321L;Longlong1=Long.valueOf(num1);Longlong2=Long.valueOf(num2);if(long1.equals(long2)){System.out.println...
现象1和现象2结果不一样,现象2使用==判断两个Long类型的值,结果竟然是false! 回到顶部 2.原理说明 源码中初始化时会执行valueOf方法,其方法如下: 也就是说这个值在-128到127之间会使用缓存,超过就会创建一个对象,所以上述的两个值分别创建了两个对象,那么使用==判断固然不同的。若没有超过这个范围,则使用==...
如果值在[-128, 127]之间,会放在缓存里面,而超过这个范围就要new一个新的对象,也就是说==不能判断对象是否相等。当然,如果值是在[-128, 127]之间的话是测不出来什么问题的。 1.3解决方案! 可以使用.longValue() 或者..equals()进行比较。 1.4最佳解决方案为 .eques() 我们可以先看.eques()的源码。
两个Long类型比较存在的坑 一般来说,两个基本数据类型比较用 “==” 就可以了,平时很少用Long类型比较。 但是最近写项目时遇到了两个Long类型比较,当时也是直接用的双等于,然而当debug时却发现代码执行到这两个Long类型比较判断时并没有进入这个判断体内,然后上网搜索相关的问题, 其实很简单,但是不知道的话就很很...
今天在写程序的时候遇到了比较两个Long型的值是否相等的问题,一般来说都会用long1 == long2 这种形式,可是今天却遇到了问题,于是看了下源码。 Long型数据 发现 当long型的值 超过了[-128,128]的时候,他会new 一个新的对象,如果没超过就会放到缓存中。所以 用"=="判断 就一定不会相同了。
相信有很多人都不太了解,今天小编为了让大家更加了解java判断long类型字符是否相等的方法,所以给大家总结了以下内容,一起往下看吧。 可以先通过.longValue()方法获取Long对象的基本类型long的值之后再做比较,但是我们用longValue比较时容易忘记后面一个包装类调longValue方法。所以,最好还是使用equals进行比较,也可以直接...
Integer的equals方法会先判断实例是否是Integer类型,再判断数值是否相等。Double,Float等包装类的equals方法也是如此。 代码语言:javascript 复制 Long l1=128L;Long l2=128L;System.out.println(l1==l2);//1System.out.println(l1==128L);//2Long l3=127L;Long l4=127L;System.out.println(l3==l4);//3...