例如:两个对象里面都有一个方法为getInteger()的方法,返回的类型也是Integer的,这时候想比较两个Integer是否相等不能用"=="号,要用equals方法.
原因很简单equals方法来自Object基类。在Object里,equals的实现是直接用 == 操作符比较两个对象的内存地址。
举两个例子:
public class MainClass {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1.equals(n2));
}
}
输出结果为true,看来Integer中没有按照Object里的默认实现来比较内存地址。在Integer中,equals重载了Object的equals方法(重载指的是子类的方法覆盖掉父类的方法,而改为自己的实现),它比较的是Integer的实际值。
public class MainClass {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1 == n2);
System.out.println(n1 != n2);
}
}
这里输出的第一个结果为false,第二个为true。结合上面的代码1可以看出,==和equals的区别。
分享到:
相关推荐
细数java中Long与Integer比较容易犯的错误总结.docx
下面小编就为大家带来一篇细数java中Long与Integer比较容易犯的错误总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JAVA Integer == equal 比较 doc 比较大小 是否相等
举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character
有一些基础东西真的还搞不清楚,看看这个文档int和Integer的区别,个人感觉讲的比较通俗易懂,谢谢原创者!保存了
由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的。前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库进行的迁移及前台应用程序进行了调整...
本文主要介绍了Java Integer两种转int方法比较。具有很好的参考价值,下面跟着小编一起来看下吧
功能相对完整的大整数类:Integer.使用VC++2008编写。较好地支持了无限长大整数乘、除、加、减、取模、移位、比较运算。可以于信息安全的加密算法中。算法效率较高。由于类中使用了运算符重载,功能强大,并且易于...
主要给大家介绍了Java中long类型与Long类型区别和大小比较的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
主要介绍了Java int与integer的对比区别的相关资料,需要的朋友可以参考下
对于实时性比较的领域, 我们作为程序员的 应该清楚的知道你的程序模块运行的时间 是非常必要的. 当然这个模块运行的时间也不是完全的稳定的, 几次运行的时间相差几十毫秒是很正常的. 因此我们只要知道大概的时间就...
为了比较HugeInteger对象,请提供以下方法:isEqualTo,isNotEqualTo,isGreaterThan,isLessThan,isGreaterThanOrEqualTo和isLessThanOrEqualTo。 每个方法都是一个谓词方法,如果两个HugeInteger对象之间的关系...
基本数据类型是可以用“==”进行比较,而引用数据类型则不可以,一般是通过equals方法来实现比较。 二 、再说说基本数据类型与引用数据类型的区别? 特点: 1、从概念方面来说 基本数据类型:变量名指向具体的...
Int、unsigned int、long long int 和 unsigned long long int 都与基本整数类型兼容,所有可用的运算(比较、算术和按位运算)都可以在此处获得。 但是在赋值的情况下,由于Integer->基元类型的赋值大部分会导致值...
先来分析选型A,Integer i01 = 59,是一个装箱的过程,在进行i01 == i02的比较过程中,因为右边是整型,发生了拆箱的动作,所以进行了值得比较,所以返回true。 在这里拿出Integer a = 59,Integer b = 59,这种又会...
FreeBasic编译器的大整数扩展如果要使用大于64位的任意大整数值,则需要扩展或库。 在Freebasic包的一部分或者是... 与未使用FB编写的外部库相比,它的比较可能更少,但是作为回报,您将获得一个非常干净易读的代码,
卫星导航方面的资料,整数最小二乘法!个人觉得是比较好的文章。是外文的,不喜欢读外文文献的通知绕道!谢谢!
但是,有符号和无符号类型之间的整数比较是无效的。 cstdint整数仅仅是typedef,因此继承了相同的残破性。整数算法也被破坏。有符号的溢出调用未定义的行为,而无符号的溢出给出以上限+1为模的结果。已经进行了许多...
为了比较HugeInteger对象,请提供以下内容方法:isEqualTo,isNotEqualTo,isGreaterThan,isLessThan,isGreaterThanOrEqualTo 和isLessThanOrEqualTo。 其中每个都是谓词方法,如果存在关系,则返回true 保持在两...