• ==与equals


    ==:

      1.基础数据类型 比较的是 值

      2.引用数据类型比较的是 内存地址

    1.为什么String 类中的equals是比较的 字符串内容

      01.查询Object类中的方法

        public boolean equals(Object obj){

          return(this==obj);  比较的是内存地址

        }

      02.再去看String类中的方法

        String中的equals是重写了Objest类中的equals方法

        比较的是内容

        String a = "abc";
        String b = "abc";
        String c = new String("abc");

        System.out.println(a.equals(b)); // 值肯定一致 所有返回 true
        System.out.println(a == b);// 内存地址也一致 所以 true
        System.out.println("****************************************");
        System.out.println(a.equals(c));// 值肯定一致 所有返回 true
        System.out.println(a == c);// 内存地址不一致 所以 false


        String a = "a";
        String b = "bc";
        String c = "abc";
        System.out.println(c == ("a" + "bc")); //true

        (1).在程序编译期间 会把常量(不变)a 和常量bc 合并成 abc
        (2).之后再和“abc“进行比较

        String a = "a";
        String b = "bc";
        String c = "abc";
        System.out.println(c == (a + b)); // false

        (1). a 和 b 都是变量(变化), 在编译期间无法确定变量的值
        (2). c在编译期间已经确定, ab无法确定

        final String a = "a";
        final String b = "bc";
        String c = "abc";
        System.out.println(c == (a + b)); // true
        final可以修饰:
          (1).修饰的属性,就是常量 运行期间不能改变
          (2).修饰的方法,不能被子类重写
          (3).修饰的类,不允许被继承

      public static void main(String[] args) {

        // 创建两个学生对象 之后 使用 ==进行比较
        Student stu1 = new Student(1, "小黑");
        Student stu2 = new Student(1, "小黑");
        System.out.println(stu1 == stu2); // 内存地址不一致 false
        /**
        * 如果对象的每个属性都一致!我们 想个办法让 两个对象相等:
        */
        System.out.println(stu1.equals(stu2)); // 内存地址不一致 但是内容一致 我们认为是true

      }

  • 相关阅读:
    前台js的复制与粘贴
    idea
    前台 js easyUI datagrid 杂记 验证(disable)
    《命运赋》
    前台
    js 、 java去除字符串中的数字
    【 协议 】 freemodbus的分层结构分析
    王爽 汇编11.10(2)编程用串传送指令,将F000H段中最后的16个字节复制到data段中
    王爽 汇编11.10(1)编程用串传送指令,将data段中的第一个字符串赋值到它后面的空间中
    汇编语搜索言中32位CPU多出的两个FS、GS段寄存器,全称是什么啊?
  • 原文地址:https://www.cnblogs.com/dongfengpo/p/8004838.html
Copyright © 2020-2023  润新知