首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >".equals“和"==”有什么区别?

".equals“和"==”有什么区别?
EN

Stack Overflow用户
提问于 2009-10-29 19:27:36
回答 6查看 101.9K关注 0票数 65

我今天换了讲师,他用一个奇怪的代码对我说。(他说使用.equals更好,当我问为什么时,他回答说:“因为它就是!”)

下面是一个例子:

代码语言:javascript
复制
if (o1.equals(o2))
{
 System.out.println("Both integer objects are the same");
}

而不是我所习惯的:

代码语言:javascript
复制
if (o1 == o2)
{
  System.out.println("Both integer objects are the same");
}

这两者之间有什么区别。为什么他的方式(使用.equals)更好?

Found this快速搜索,但我真的不能理解这个答案:

EN

回答 6

Stack Overflow用户

发布于 2012-06-09 00:26:03

==是一个运算符。equals是Object类中定义的方法

==检查两个对象在内存中是否具有相同的地址,对于原语,它检查它们是否具有相同的value.equals方法,另一方面,它检查正在比较的两个对象是否具有相等的值(这取决于对象的equals方法是如何实现的。equals方法不能应用于基元(这意味着如果a是基元,则不允许使用a.equals(某个对象),但是允许使用someobject.equals(a) )。

票数 2
EN

Stack Overflow用户

发布于 2015-09-18 13:10:42

==运算符比较两个对象引用,以检查它们是否引用同一实例。这也将在成功的match.for示例中返回true

代码语言:javascript
复制
public class Example{
public static void main(String[] args){
String s1 = "Java";
String s2 = "Java";
String s3 = new string ("Java");
test(Sl == s2)     //true
test(s1 == s3)      //false
}}

上面的示例==是一个引用比较,即两个对象指向相同的内存位置

String equals()的计算结果是对象中值的比较。

代码语言:javascript
复制
   public class EqualsExample1{
   public static void main(String args[]){
   String s = "Hell";
   String s1 =new string( "Hello");
   String s2 =new string( "Hello");
   s1.equals(s2);    //true
    s.equals(s1) ;   //false
    }}

上面的例子比较了字符串的内容。如果字符串匹配,则返回true,否则返回false。

票数 0
EN

Stack Overflow用户

发布于 2015-03-20 21:19:56

代码语言:javascript
复制
public static void main(String[] args){
        String s1 = new String("hello");
        String s2 = new String("hello");

        System.out.println(s1.equals(s2));
        ////
        System.out.println(s1 == s2);

    System.out.println("-----------------------------");

        String s3 = "hello";
        String s4 = "hello";

        System.out.println(s3.equals(s4));
        ////
        System.out.println(s3 == s4);
    }

在这段代码中,你可以同时使用'==‘和'.equals’

这里,.equals用于比较引用对象,而'==‘用于比较对象的状态。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1643067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档