• ==和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.

  • 相关阅读:
    JSP----获取表单参数
    application 从web.xml中获取初始化参数
    使用定时器分解任务
    无阻塞加载外部js(动态脚本元素,XMLHttpRequest注入,LazyLoad)
    ReactJs 入门DEMO(转自别人)
    带你一分钟理解闭包--js面向对象编程(转载他人)
    使用SqlBulkCopy进行批量数据插入
    AngularJsDEMO
    ECharts
    C#发送邮件DEMO
  • 原文地址:https://www.cnblogs.com/JonaLin/p/13687635.html
Copyright © 2020-2023  润新知