zoukankan      html  css  js  c++  java
  • 谈一谈 “==” 跟 “equals” 的区别

    1)对于==,比较的是值地址是否相等

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

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

    2)equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同

      对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是两个对象的值。如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

    当equals为true时,==不一定为true。

    Java中的四种引用及其应用场景是什么?

      强引用: 通常我们使用new操作符创建一个对象时所返回的引用即为强引用

      软引用: 若一个对象只能通过软引用到达,那么这个对象在内存不足时会被回收,可用于图片缓存中,内存不足时系统会自动回收不再使用的Bitmap

      弱引用: 若一个对象只能通过弱引用到达,那么它就会被回收(即使内存充足),同样可用于图片缓存中,这时候只要Bitmap不再使用就会被回收

      虚引用: 虚引用是Java中最“弱”的引用,通过它甚至无法获取被引用的对象,它存在的唯一作用就是当它指向的对象回收时,它本身会被加入到引用队列中,这样我们可以知道它指向的对象何时被销毁。

  • 相关阅读:
    UVA1394 And Then There Was One
    delphi编程CRC算法的实现,以下是全部的代码
    SQLite学习手册(临时文件)
    SQLite学习手册(实例代码<一>)
    SQLite学习手册(锁和并发控制)
    Delphi中比较两个字符串相似性的百分比算法
    SQLite学习手册(内存数据库)
    delphi 读取网卡mac的3种方式
    从内存中加载并运行exe
    Windows消息机制要点
  • 原文地址:https://www.cnblogs.com/cxfly/p/10540884.html
Copyright © 2011-2022 走看看