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

    equals比较的也是地址,但是在使用时,它一般都是经过重写equals()方法的,从而是对“值”进行比较的

    Java语言对equals()的要求如下,这些要求是必须遵循的:
      对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。
      反射性:x.equals(x)必须返回是“true”。
      类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。
      一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。
      任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。
      以上这五点是重写equals()方法时,必须遵守的准则,如果违反会出现意想不到的结果,请大家一定要遵守

      hashCode方法默认返回对象的地址,String,Integer等封装类型对它进行了重写返回一个整数
      该整数的取值来自于当前字符串的每个字母的编码值.公示如下
      public int hashCode(){
        return “abcde”.hashCode();
      }

    "=="比较的是地址,

  • 相关阅读:
    Mysql日志管理
    Mysql 安全和DCL语句
    Mysql DDL语句之视图
    Mysql增删改查(DML、DQL)
    Mysql操作之部分DDL语句
    如何做事情
    temp
    asp.net入门
    希望尽快回忆起来
    需求?
  • 原文地址:https://www.cnblogs.com/xinchen01/p/10969238.html
Copyright © 2011-2022 走看看