zoukankan      html  css  js  c++  java
  • Java中equals()和“==”区别

    1.对于基础数据类型,使用“=="比较值是否相等;

    2.对于复合数据类型(类),使用equals()和“==”效果是一样的,两者比较的都是对象在内存中的存放地址(确切的说,是堆内存地址)。

    3.对于String、Integer、Date等覆盖了equals()方法的类型,“==”比较的是存放的内存地址。而equals()的结果则由覆盖后的代码决定。

    4.string类型中,equals()比较的是两字符串内容是否相同。如:

    String s1 = "Hello";
    String s2 = "Hello";
    s1.equals(s2)返回true;
    s1==s2返回true;
    String s1 = "Hello";
    String s2 = new String("Hello");
    s1.equals(s2)返回的还是true;
    但是s1==s2返回false;
    

    ★加点随笔:看了Java的hashset,了解到hashset在查重的时候先用hashcode来缩小寻找范围,最后还要用equals()来确定是否真的为相同的对象。  

  • 相关阅读:
    highcharts
    iCheck
    MdiContainer
    wms-ssv数据字典
    hibernate 返回自定义对象
    XmlSerialize
    Db
    python groupby
    pom resource配置
    FastReport打印table
  • 原文地址:https://www.cnblogs.com/wangjiangwu/p/5770634.html
Copyright © 2011-2022 走看看