zoukankan      html  css  js  c++  java
  • equals 和 ==

    基本类型,基本类型的封装类,对象变量    

    ==>对象变量,"=="和"equal"
        String s1="test s1 and s2"; 
        String s2="test s1 and s2"; 
        Boolean result=(s1==s2);     (false)
    ==>对象变量存储的是对象在内存中的内存地址。所以用“==”时,结果为false。

    ==>所以“==”用来比较两个变量的值是否相等,而不是变量引用的对象是否相等 

        Boolean r1=st1.equals(st2); 

        Boolean r2=(st1+st2).equals(st3); 
        Boolean r3=st3.equals(st4); 
    ==>equal用于比较两个对象是否相同。 
    所以: 
    “==”比较的是值【变量(栈)内存中存放的对象的(堆)内存地址】 比较引用.
    equal用于比较两个对象的值是否相同
    Object类中的equals方法和“==”是一样的,没有区别,而String类,Integer类等等一些类,是重写了equals方法,才使得equals和“==不同”,所以,当自己创建类时,自动继承了Object的equals方法,要想实现不同的等于比较,必须重写equals方法。

  • 相关阅读:
    Ajax跨域解决实例
    关于tween.js测试介绍
    signal() 和 sigaction()
    信号概述
    监控文件事件
    栈和栈帧
    进程结构和内存布局
    关于文件I/o的原子操作
    查询Linux系统中glibc的版本
    IOPS和Throughput
  • 原文地址:https://www.cnblogs.com/newcoder/p/5527488.html
Copyright © 2011-2022 走看看