Java 中的 ==, equals 和 hashCode 的区别和联系.docVIP

  • 1
  • 0
  • 约6.44千字
  • 约 14页
  • 2017-06-17 发布于湖北
  • 举报

Java 中的 ==, equals 和 hashCode 的区别和联系.doc

Java中的==,equals与hashCode的区别与联系 (文章来源:北大青鸟成都锦江) 一、概述 1、概念 == :?该操作符生成的是一个boolean结果,它计算的是操作数的值之间的关系 equals :?Object 的?实例方法,比较两个对象的content是否相同 hashCode :?Object 的?native方法?, 获取对象的哈希值,用于确定该对象在哈希表中的索引位置,它实际上是一个int型整数 二、关系操作符 == 1、操作数的值 基本数据类型变量 在Java中有八种基本数据类型: 浮点型: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”) 对于这八种基本数据类型的变量,变量直接存储的是“值”。因此,在使用关系操作符 == 来进行比较时,比较的就是“值”本身。要注意的是,浮点型和整型都是有符号类型的(最高位仅用于表示正负,不参与计算【以 byte 为例,其范围为 -2^7 ~ 2^7 - 1,-0即-128】),而char是无符号类型的(所有位均参与计算,所以char类型取值范围

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档