“==”:在基本数据类型中判断值是否相等,在引用类型中判断堆中的对象是否相等
    equals:将该字符串与指定的对象进行比较。当实参的值与此对象的值相同时,结果为真。

    1. //两条new语句创建了两个对象,然后用a,b这两个变量分别指向了其中一个对象
    2. String str1 = new String("lldwb");
    3. String str2 = new String("lldwb");
    4. //判断是否指向同一个对象
    5. System.out.println(str1==str2);
    6. //判断两个对象中的内容是否相同
    7. System.out.println(str1.equals(str2));
    8. //记住,字符串的比较基本上都是使用equals方法。

    简单一点:
    在String对比中:==指向的地址是否相等,equals一个一个字节对比是否相等
    "=="和equals方法究竟有什么区别? - 图1

    public class Ch{
        Person person1 = new Person();
        person1.name = "str";
        Person person2 = new Person();
        person2.name = "str";
        System.out.println(person1.name==person2.name);
    }
    class Person{
        String name;
    }
    

    输出的是true/false?
    答案密码:d2fe4

    点击查看【bilibili】