Java在比较字符串的时候equals和==有什么不一样?

如题所述

1.
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
2.
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
3.
s1 = new String("sony"); //创建的是字符串对象
s1.equals("sony"); //返回true
s1 == "sony" //返回false
//如果
s1 = "sony";
s1 == "sony" //返回true
//如果
s1 = "sony";
s2 = "sony";
s1.equals(s2); 或者string.equals(s1,s2);//返回true追问

什么是引用呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-26
equals比较的是值 ==比较的是地址
第2个回答  2016-07-26
== 是连地址也比较 equals 是只比较值
相似回答