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

    1)对于 == 运算符

        如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;

        如果作用于引用类型的变量,则比较的是所指向的对象的地址

          在Java中游8种基本数据类型:

      浮点型:float(4 byte), double(8 byte)

      整型:byte(1 byte), short(2 byte), int(4 byte) , long(8 byte)

      字符型: char(2 byte)

      布尔型: boolean(JVM规范没有明确规定其所占的空间大小,仅规定其只能够取字面值"true"和"false")

           

    2)对于 equals方法,注意:equals方法不能作用于基本数据类型的变量,所以是比较引用类型内存地址

        如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

        诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

    注意: int a  和 Integer a 是不同的,int a 是基础类型【值类型】 ,Integer a 是引用类型

    int n = 3;
    int m = 3;

    n == m //true

    Integer a =3;
    Integer b =3;
    a == b //fslse Integer是引用类型,比较的是所指向的对象的地址
    a.equals(b) //true Integer重写 equals()方法,比较的是所指向的对象的内容

    参考:https://www.cnblogs.com/dolphin0520/p/3592500.html

  • 相关阅读:
    light oj 1105 规律
    light oj 1071 dp(吃金币升级版)
    light oj 1084 线性dp
    light oj 1079 01背包
    light oj 1068 数位dp
    light oj 1219 树上贪心
    light oj 1057 状压dp TSP
    light oj 1037 状压dp
    矩阵快速幂3 k*n铺方格
    矩阵快速幂2 3*n铺方格
  • 原文地址:https://www.cnblogs.com/seamanone/p/9567399.html
Copyright © 2011-2022 走看看