首页 > 编程 > Java > 正文

java中==与equals的区别

2019-11-06 07:29:22
字体:
来源:转载
供稿:网友

在最近做题当中,发现==和equals一直让我傻傻的搞不清楚,因此写这一篇博客,来总结一下 学习的结果。

首先上代码

Integer i1=9; int i2=9; Integer i3=Integer.valueOf(9); Integer i4=new Integer(9); System.out.PRintln(i1==i2); System.out.println(i1==i3); System.out.println(i1==i4); System.out.println(i1.equals(i4));结果: true true false true

简单的说“==”用于比较两个变量的值的大小,通常用于比较两个基本类型的数据或者两个引用 变量,在上例中,我理解的是java会自动调用自动装卸箱机制将封装类型转成基本数据类型,所以这几个变量的数值i1,i2,i3所对应的内存中数值是相等的,图如下: 这里写图片描述 而equals是Object类的提供的方法之一,equals()方法的是可以被覆盖的,因此,它可以 通过覆盖的方法让它比较数据的内容,例如String类equals方法是用于比较两个独立对象的内容 是否相同,即堆中的内容是否相同。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表