zoukankan      html  css  js  c++  java
  • 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就是一个地址,存储与常量池,所以相等

  • 相关阅读:
    Entity Framework 第十篇 条件查询
    Entity Framework 第九篇 关于自增列的事务处理
    Entity Framework 第八篇 结构优化
    Entity Framework 第七篇 简化排序
    控件截图Cache
    Java基础_自加运算
    Java基础_赋值运算
    Java基础_字符与字符串的运算
    同步和异步
    Application中的name属性
  • 原文地址:https://www.cnblogs.com/meihao99/p/11691657.html
Copyright © 2011-2022 走看看