`

Java Long 对象的相等比较

    博客分类:
  • JAVA
阅读更多
Long originalLong = (long) -128;
		Long newLong = (long) -128;
		System.out.println("Object Compare:" + (originalLong == newLong));
		System.out.println("LongValue Compare:" + (originalLong.longValue() == newLong.longValue()));
		System.out.println("Equals Compare:" + originalLong.equals(newLong));


结果为:
Object Compare:true
LongValue Compare:true
Equals Compare:true

Long originalLong = (long) 127;
		Long newLong = (long) 127;
		System.out.println("Object Compare:" + (originalLong == newLong));
		System.out.println("LongValue Compare:" + (originalLong.longValue() == newLong.longValue()));
		System.out.println("Equals Compare:" + originalLong.equals(newLong));

结果为:
Object Compare:true
LongValue Compare:true
Equals Compare:true

Long originalLong = (long) -129;
		Long newLong = (long) -129;
		System.out.println("Object Compare:" + (originalLong == newLong));
		System.out.println("LongValue Compare:" + (originalLong.longValue() == newLong.longValue()));
		System.out.println("Equals Compare:" + originalLong.equals(newLong));


结果为:
Object Compare:false
LongValue Compare:true
Equals Compare:true

Long originalLong = (long) 128;
		Long newLong = (long) 128;
		System.out.println("Object Compare:" + (originalLong == newLong));
		System.out.println("LongValue Compare:" + (originalLong.longValue() == newLong.longValue()));
		System.out.println("Equals Compare:" + originalLong.equals(newLong));


结果为:
Object Compare:false
LongValue Compare:true
Equals Compare:true

总结:当Long对象的值在long类型的区间内是,比较对象的值是否相等可以两个对象直接用“==”比较,否则需要利用其他两种方式比较,才能得到正确的结果。
结论:比较两个Long对象昂的值是否相等的时候,直接使用其他两种方式比较,而不要使用“==”操作符。
分享到:
评论

相关推荐

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    java基础入门教程

    第 一 章 Java概 述 § 1.1 Java语 言 出 现 的 背景 、 影 响 及 应 用 前 景 一 、 背 景 最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器...

    超级有影响力霸气的Java面试题大全文档

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    jsp内置对象的用法

    3 boolean equals(Object obj) 判断此Object是否与指定的Object对象相等 4 void copy(Object obj) 把此Object拷贝到指定的Object对象中 5 Object clone() 克隆此Object对象 6 String toString() 把此Object...

    整理后java开发全套达内学习笔记(含练习)

    Object [java] 对象 ['ɒbdʒekt] Overload [java] 方法的重载(不同参数列表的同名方法) [,әuvә'lәud] Override [java] 方法的覆盖(覆盖父类的方法) [,әuvә'raid] polymiorphism[java] 多态 (polymorphism ...

    安卓java读取网页源码-AndroidInterview:Android面试常见问题

    比较两个对象的引用是否相等,即 是否指向同一个对象;hashCode 用来鉴定两个对象是否相等,Object类中的hashCode方法返回对象在内存中地址转换成的一个int值,所以如果没有重写hashCode方法,任何对象的hashCode方法...

    【05-面向对象(下)】

    •Object类提供的equals方法判断两个对象相等的标准与==完全相同。因此开发者通常需要重写equals方法。 类成员 •在java类里只能包含Field,方法,构造器,初始化块,内部类(接口、枚举)等5种成员。 用...

    2.Java基础语法.ppt

    比较引用变量时是判断两个在堆中的存储的地址是否相等 equals:操作时是判断两个变量是否是对同一对象的引用,即对堆中的内容进行比较 在比较引用变量时: ==判断的对象的地址 equals判断的是对象的内容 4.位...

    aviator \断言函数,当 predicate 的结果为 false 的时候抛出 AssertFailed 异常, msg

    断言函数,当 predicate 的结果为 false 的时候抛出 AssertFailed 异常, ...比较 x 和 y 大小,返回整数,0 表示相等, 1 表达式 x > y,负数则 x 。 打印对象,如果指定 out 输出流,向 out 打印, 默认输出到标准输出

    Java中==与equals的区别

    他们之间的比较应该用==,比较的是他们的值是否相等。 引用数据类型:当他们在用==比较的时候,比较的是他们在内存中的存放地址。(除非是同一个new出来的对象,他们比较的结果是true,否则都是false,因为每一次...

    Android静默安装常用工具类

    isEquals(Object actual, Object expected) 比较两个对象是否相等 compare(V v1, V v2) 比较两个对象大小 transformIntArray(int[] source) Integer 数组转换为int数组 源码可见ObjectUtils.java,更多方法及更详细...

    day021-反射和注解笔记和代码.rar

    基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象; 注意 : 1、 Class类 和它的实例的产生: Class的对象是已经存在的类型, 所以不...

    net学习笔记及其他代码应用

    答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 38.abstract class和interface有什么区别? 答: 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    3.5 整数类型short、long和unsigned 3.6 浮点类型 3.7 typedef的用法 3.8 sizeof操作符 3.9 使用getchar()和putchar() 3.10 数学函数 3.10.1 使用abs()和fabs() 3.10.2 unix和数学函数库 3.11 隐式类型转换...

    IO输入输出留

    java.io 包 java.io.File ============================================================================================ *表示磁盘文件或目录的路径 *可以表示一个不存在的路径 创建实例 --------------------...

    sesvc.exe 阿萨德

    如果当前桶有值( Hash 冲突),那么就要比较当前桶中的 key、key 的 hashcode 与写入的 key 是否相等,相等就赋值给 e,在第 8 步的时候会统一进行赋值及返回。 如果当前桶为红黑树,那就要按照红黑树的方式写入数据...

    freemarker总结

    =可以用于字符串,数值和日期来比较是否相等,但=和!=两边必须是相同类型的值,否则会产生错误,而且FreeMarker是精确比 较,"x","x ","X"是不等的.其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,...

    C++复习资料之系列

    复习资料 1.1选择题 1.在一个C++程序中,main函数的位置( c )。 (a) 必须在程序的开头 (b) 必须在程序的后面 ( c ) 可以在程序的任何地方 (d) 必须在其它函数中间 2.... (a) 解释 (b) 汇编 (c) 编辑 (d) 编译 ...

    在一小时内学会 C#(txt版本)

    如果熟悉 Java 语言,Java 的编程结构、打包和垃圾回收的概念肯定对你快速学习 C# 大有帮助。所以我在讨论 C# 语言构造的时候会假设你知道 C++。 本文通过一系列例程以简短但全面的方式讨论了 C# 语言构造和特性,...

Global site tag (gtag.js) - Google Analytics