1. JDK 和 JRE 有什么区别???2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

1. JDK 和 JRE 有什么区别???2. == 和 equals 的区别是什么???3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗???

完成:第一遍

1. JDK 和 JRE 有什么区别???

JRE是java运行环境,
包含java虚拟机和java类库,是运行java程序是需要环境

JDK是java开发工具包,是编写java程序所用开发包
JDK用于开发,JRE用于运行

2. == 和 equals 的区别是什么?

==是比较运算符
基本数据类型比较的是值
引用数据类型比较的是地址

equals是方法,只能比较引用数据类型
重写前比较的是地址值,重写后比较的是属性的值

3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

不一定为true。
hashCode()相等,即两个键值对的哈希值相等。
然而哈希值相等,并不一定能得出键值对相等。
补充:“两个不同的键值对,哈希值相等”,这就是哈希冲突。

你可能感兴趣的:(【Java,基础】)