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

    一、理解”==“的含义

    在java中,主要有两个作用。

    1、基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。

    2、引用数据类型:比较的是引用的地址是否相同,比如说新建了两个User对象,比较的是两个User的地址是否一样。

    OK。

    注意 你会发现,引用的例子中,使用的是User对象,而不是String

    String

    1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。

      “==”比较两个变量本身的地址值,即两个对象在内存中的首地址。

      “equals()”比较字符串中所包含的内容是否相同。

    比如:

    String s1,s2,s3 = "abc", s4 ="abc" ;

    s1 = new String("abc");

    s2 = new String("abc");

    那么:

    s1==s2 是 false      //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,故不相等。

    s1.equals(s2) 是 true     //两个变量的所包含的内容是abc,故相等。

    注意(1):

    如果:          StringBuffer s1 = new StringBuffer("a");
                       StringBuffer s2 = new StringBuffer("a");
    结果:          s1.equals(s2) //是false

    解释:StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,而Object类中的equals方法是用来比较“地址”的,所以等于false.

  • 相关阅读:
    MongoDB 数组操作
    XPath 详解,总结
    关于python文件操作
    python-时间模块
    MongoDB使用小结:一些常用操作分享
    python操作MongoDB
    Python中的random模块
    网络基本概念
    .net微信开发
    winform listview用法
  • 原文地址:https://www.cnblogs.com/JonaLin/p/13687635.html
Copyright © 2011-2022 走看看