为什么重写 equals 还要重写 hashcode?
equals比较的是内存中的地址,hashcode比较的是hash值,
equals相同,则hashcode一定相同,说明两个比较的对象是同一个对象;
equals不相同,hashcode不一定不同,但两个对象不是同一个对象
== 和 equals 比较的区别
==对于基本数据类型是比较值,对于引用数据类型是比较内存地址;
equals是比较内存中的地址
为啥有时会出现 4.0 - 3.6 = 0.40000001 这种现象?
因为java 的浮点类型数据底层是二进制表示的, 不能准确表示1/10等分数
final 关键字的作用
final经常和static一起使用,声明一个方法是静态方法,
final可用于声明类、方法、变量,申明变量时,该变量将转化为常量,
final修饰的类不能被继承,final修饰的方法不能被重写
介绍 Java 的集合类
collection接口
list:arraylist(数组)、linkedlist(单链表),vector(数组,线程安全)
set:hashset,linkedhashset,treeset
queue