您的位置:首页 > 博客中心 > 互联网 >

== 和 equals区别

时间:2022-05-11 13:01

== equals是两种字符串的方式

区别

== 是比较两个对象的引用地址值
equals是比较两个对象的具体内容

示例

package com.oop.demo06;

public class Demo01 {
    public static void main(String[] args) {
        String s1 = "yyll"; // 直接赋值方式
        String s2 = "yyll";
        String s3 = new String("yyll"); // 实例化String类方式
        String s4 = new String("yyll");
        String s5 = s3;

        // == 比较的是引用的地址值
        System.out.println("s1 == s2= => :" + (s1 == s2));
        System.out.println("s1 == s3= => :" + (s1 == s3));
        System.out.println("s3 == s4 ==> :" + (s3 == s4));
        System.out.println("s3 == s5 ==> :" + (s3 == s5));

        System.out.println("==================================");
        // equals比较的是具体内容
        System.out.println("s1.equals(s2) ==> :" + (s1.equals(s2)));
        System.out.println("s1.equals(s3) ==> :" + (s1.equals(s3)));
        System.out.println("s1.equals(s4) ==> :" + (s1.equals(s4)));
        System.out.println("s1.equals(s5) ==> :" + (s1.equals(s5)));
    }
}

测试结果

技术图片


内存图
技术图片

小结

  1. 直接赋值方式:创建的对象存放在字符串对象池里 如果再创建一个一模一样的 不会再创建
  2. 实例化方式: 每次创建都会分配一个新的内存空间出来

本类排行

今日推荐

热门手游