• Java 中 == 与 equals比较


    小菜同学的第一篇博客开始啦

    一. ==

    1.应用在基础数据类型当中,比较两个数据的值是否相等。
    2.应用在对象类型当中,比较内存地址是否相等。
    二.equals
    只应用在对象类型当中,在Object类中比较内存地址是否相等。
    但是,在String,Byte,Short,Character,Integer,Long,Float,Double,Boolean,Date类中重写了equals方法,比较其值是否相等。
    //==基础数据类型,比较两值是否相等
    int aa = 1;
    int bb = 1;
    System.out.println(aa == bb);//true

    //==应用与对象类型中,比较内存地址是否相等
    String str1 = new String("hello");
    String str2 = new String("hello");
    String c = "hello";
    String d = "hello";
    System.out.println(str1 == str2);//false
    System.out.println(str1.equals(str2));//true
    System.out.println(str1.equals(c));//true
    System.out.println(str1 == c);//false
    System.out.println(d.equals(c));//true
    System.out.println(d == c);//true
    //d==c 为true是因为在给c d赋值的时候,就是使用字符串字面量(写死的值),在程序编译的时候,这种字面量直接放入class文件的常量池,
    //实现复用,所以d c就是一个地址,存储与常量池,所以相等

  • 相关阅读:
    Linux开发初探
    Linux开发初探
    电脑使用说明书
    电脑使用说明书
    Delegates, Events, and Anonymous Methods 委托、事件与匿名方法
    CSS haslayout
    js与flash结合使用
    sgen.exe" exited with code 1.解决方法
    selenium
    selenium支付高版本的FireFox
  • 原文地址:https://www.cnblogs.com/meihao99/p/11691657.html
Copyright © 2020-2023  润新知