Java中 equals() 和 ==的区别

来源:互联网 发布:高三毕业后干什么知乎 编辑:程序博客网 时间:2024/06/06 06:15

#注意,equals 和 == 的区别是基于引用指向对象的。常量的比较依然用 == 

1.equals()用于比较两个引用指向的对象的值是否一样

2. == 用于比较两个引用是否指向同一个对象

如:

public class Main{    public static void main(String args[])    {        String str1 = new String("abc");        String str2 = new String("abc");        System.out.println(str1 == str2);        System.out.println(str1.equals(str2));    }}
打印结果:

false

true


因为str1 和 str2 是指向地址不同的两个对象,所以第一个打印 false

因为 str1 和 str2 指向的对象的值是一样的(都是 abc),所以第二个打印true