• java中==与equals


    • ==

      ==可用于比较基本类型与引用类型,对于基本类型变量比较的是其存储的值是否相等,对于引用类型则比较的是其是否指向同一个对象。

    如:

    int a = 10;
    int b = 20;
    double d = 10.0;

    a==b的结果为false,由于a与b的值不相等;

    a==d的结果为true,由于a与d的值相等。

    Keyboard objOne = new Keyboard();
    Keyboard objTwo = new Keyboard();
    Keyboard objThree = objOne;

    objOne == objTwo的结果为false,由于objOne与objTwo指向不同的对象;

    objOne == objThree的结果为true,由于objOne与objThree指向同一个对象。

    • equals

      equals只能用于引用类型变量的比较,如果没有对equals方法进行重写,比较的是其是否指向同一个对象。

    如:

    Keyboard objOne = new Keyboard();
    Keyboard objTwo = new Keyboard();
    Keyboard objThree = objOne;

    objOne.equals(objTwo)的结果为false,由于objOne与objTwo指向不同的对象;

    objOne.equals(objThree)的结果为true,由于objOne与objThree指向同一个对象。

    • String类对equals方法进行了重写,用来比较指向的字符串对象所存储的字符串是否相等

    如:

    String str1 = new String("hello");
    String str2 = new String("hello");
    String str3 = new String("good");

    str1.equals(str2)的结果为true,由于str1与str2所指向的字符串对象存储的字符串相等;

    str1.equals(str3)的结果为false,由于str1与str3所指向的字符串对象存储的字符串不相等。

    上例中str1==str2的结果则为false,因为str1、str2指向不同的对象。

    又如:

    String str4 = "hello";
    String str5 = "hello";

    str4 == str5的结果为true,这里是由于str4、str5指向同一个字符串对象。

    也即是说只创建了一个“hello”对象,与new方式每次都创建一个新的对象不同。

  • 相关阅读:
    NERDTree 快捷键辑录
    linux 自动登录脚本
    INSERT INTO .. ON DUPLICATE KEY更新多行记录
    Linux环境PHP7.0安装
    SVN常用命令
    Linux下查看文件和文件夹大小
    Cacti安装详细步骤
    linux回到上次目录与历史命令查找快捷方式
    shell的if else 以及大于,小于等逻辑表达式
    Nginx_Lua
  • 原文地址:https://www.cnblogs.com/deltadeblog/p/7172293.html
Copyright © 2020-2023  润新知