zoukankan      html  css  js  c++  java
  • “==”与equals的区别

    class Cat {
        public Cat(String name) {
            this.name = name;
        }
    
        private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }
    
    Cat c1 = new Cat("王磊");
    Cat c2 = new Cat("王磊");
    System.out.println(c1.equals(c2)); // false
    String s1 = new String("老王");
    String s2 = new String("老王");
    System.out.println(s1.equals(s2)); // true
    String x = "string";
    String y = "string";
    String z = new String("string");
    System.out.println(x==y); // true
    System.out.println(x==z); // false
    System.out.println(x.equals(y)); // true
    System.out.println(x.equals(z)); // true

    1.“==”分析:当比较的是基本数据类型时是值比较,引用型比较时是引用比较。

    2.equals()是Object类中的方法,如下:

    public boolean equals(Object obj) {
            return (this == obj);
    }

    可以看到equals本质是引用比较,只是很多类如Integer、String中复写了equals方法,将引用比较转换为了值比较。

     
  • 相关阅读:
    Flask路由+视图补充
    Flask登录认证
    Flask
    初识Flask
    redis 注意事项
    Linux安装python和更新pip
    Django 导入配置文件
    redis 5种类型
    redis 支持事务
    数组乱序与数组拆解
  • 原文地址:https://www.cnblogs.com/wangxiaochao/p/10510904.html
Copyright © 2011-2022 走看看