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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liufeng2436_01 中级黑马   /  2016-4-23 12:42  /  826 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

问题:==与equals的区别

9 个回复

倒序浏览
==:可以比较基本类型和引用类型。基本类型比较的是值是否相同,而引用类型比较的是地址值是否相同。
equals:只能比较引用类型。默认情况下,比较的是地址值是否相同,但是我们可以根据自己的需要重写该方法。
回复 使用道具 举报
==比较地址值
equals可以重写成比较内容
回复 使用道具 举报
==可以比较基本数据类型和引用类型,如果操作元相等而返回ture,
而equals()方法:如 public boolean equals(Object obj):当参数obj引用的对象与当前对象为同一个对象时,就返回ture,否则返回false。有时候根据需要,我们会重写该方法
回复 使用道具 举报
==:可以比较基本类型和引用类型。基本类型比较的是值是否相同,而引用类型比较的是地址值是否相同。
equals:只能比较引用类型。默认情况下,比较的是地址值是否相同,而String类重写了equals()方法,比较的是内容是否相同
String s1=new String("hello")创建了2个对象,一个是方法区的"hello",一个是堆中的new String,s1的地址值指向堆内存中的地址,
String s2="hello"就只在方法区中创建了一个“hello”对象,s2的地址值指向方法区中的地址
但是s1和s2的内容都是"hello"
System.out.println(s1==s2) false;     System.out.println( s1.equals(s2)) true
回复 使用道具 举报
== 比的是地址,equeal一般会重写  比较内容
回复 使用道具 举报
==比较地址值
equals可以重写成比较内容
回复 使用道具 举报
大神真多
回复 使用道具 举报
==比较的是地址值,equals是比较内容,
回复 使用道具 举报
==比较的是地址值,equals是比较内容,        String string="aa";          String string1="aa";          String string2=new String("aa");                 System.out.println(string==string1);                 System.out.println(string==string2);                 System.out.println(string.equals(string1));                 System.out.println(string.equals(string2));             true false true true     
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马