equals 与 == 的区别

来源:2-5 认识 Java 中的 StringBuilder 类

何必要在意

2014-11-20 20:27

  ==比较 equals   内容指的是什么   地址是什么的地址 例如 :

  String tom=new String("hello");

  String boy=new String("hello");

  String jarry=new String("hi");

 String girl=new String("hello");

 tom.equals(boy)

girl.equals(boy)

  tom==boy 

怎么解释呢 

写回答 关注

2回答

  • 11111
    2014-11-22 20:45:46

    String 是一个类。一个类的所有实例都有一个引用地址。

    用变量来保存类的某个实例的引用地址。

    tom 、boy、和 girl 是3个不同的实例,地址当然也不同,用 == 比较出来的结果自然为false。

    代码:

    String tom = "hello";
    String boy = "hello";
    
    System.out.println(tom == boy); // results false
    
    System.out.println(tom.equals(boy)); // results true
    
    tom = boy; // 把boy的引用地址赋值给tom
    System.out.println(tom == boy) // results true


  • 偌颜宁
    2014-11-21 10:16:13

    ==比较的为是否同一个对象,也可以说比较的地址是不是相同。

    equals比较的为是否内容相同, 也可以说比较的对象的值是不是相同的

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题