A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jicz007 黑马帝   /  2011-10-16 17:26  /  3719 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jicz007 于 2011-10-16 17:27 编辑

"=="和equals的区别,有什么不同之处吗?

什么时候用"=="好,什么时候用equals好?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

8 个回复

倒序浏览
== 实际上是比较的两个字符串的物理内存地址而equals 比较两个对象的值(如果默认继承自 OBJECT ,则 equals 比较两个对象地址), String class override 了 Object class 的 equals 方法,实现了自己的方法,所以 equals 比较的是实际值而非地址

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
运算符‘==’比较两个对象是否引用同一个实例,而equals()和equalsIgnoreCase()则比较两个字符串对应的每个字符值是否相同。
比如:
String str1=new String("hello!");
String str2=new String("hello!");
那么
str1==str2  为false
str1.equals(str2)  为true

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黄锋 黑马帝 2011-10-16 19:19:09
板凳
==和equals的区别是
==是指两个对象是否指向同一个内存地址
equals是指两个对象地址中是否存拉相同的内容。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
==和equals()方法的区别,==是比较引用变量的首地址,例如:
String str1=new String("abc");
String str2=new String("abc");
String str3=str1;
if(str1==str2) System.out.println("true");
else
System.out.println("false");则输出结果就为false,结果不等,但是str1和str3是相等的。
equals()比较的是引用变量的内容,if(str1.equals(str3)),则结果就会返回true。
两个数组的比较,equals(int[] a1,int[] a2)。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
朱华 黑马帝 2011-10-17 12:45:39
地板
纯手打,请区分。
在不考虑重新方法的情况下,
==指的是比较两个对象的内存地址。
equals指的是比较两个字符串中值是否一样。

但是他们都是有特例的,
比如==,integer的==就是一个特例
  1. Integer int1 = 127;
  2. Integer int2 = 127;

  3. Integer int3 = 128;
  4. Integer int4 = 128;

  5. System.out.println(int1 == int2);
  6. System.out.println(int3 == int4);
复制代码
第一句打印为true,第二句打印为false


这是因为integer有一个类似缓存的处理,他对一个字节以内的数(-128-127之间)都是通过引用来调用,超过1个字节的integer就会另外创建对象了。


对于equals,由于equals是所有类的父类Object类中的一个方法,所以你可以重写这个方法来让他进行不同的比较返回不同的值,但是一般来说它表达的意思都应该是比较所显示的数据是否相等。
回复 使用道具 举报
张邦庆 黑马帝 2011-11-1 18:13:32
7#
其实跟哈希集合中的覆盖的equals()相同,检查表链中是否有相同的内容
回复 使用道具 举报
咖啡 黑马帝 2011-11-1 20:27:48
8#
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。

回复 使用道具 举报
lyz1024 黑马帝 2012-6-4 23:13:56
9#
还没有机会尝试一下 帮顶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马