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();
      }

    "=="比较的是地址,

  • 相关阅读:
    0-1性能测试需求分析
    1-10jmeter关联,正则表达式(待巩固)
    1-9jmeter集合点,并发操作
    1-8.jmeter设置断言(检查点)
    1-6jmeter性能测试基础
    泛型中的协变和逆变
    jsPlumb
    jQuery UI vs Kendo UI & jQuery Mobile vs Kendo UI Mobile
    31天重构
    Visual Studio 小工具
  • 原文地址:https://www.cnblogs.com/xinchen01/p/10969238.html
Copyright © 2011-2022 走看看