- 博客(5)
- 收藏
- 关注
原创 我以为的fail-fast和fail-fafe
一、fail-safe允许在遍历的过程中对容器中的数据进行修改,而fail-fast则不允许。 二、fail-fast:直接在容器上进行遍历,在遍历过程中,一旦发现容器中的数据被修改了,会立刻抛出ConcurrentModificationException异常导致遍历失败。java.util包下的集合类都是快速失败机制的, 常见的的使用fail-fast方式遍历的容器有HashMap和ArrayList等。比如说在使用迭代器遍历一个集合对象时,比如增强for,如果遍历过程中对集合对象的内容进行了修改(增删
2020-07-25 14:29:47
99
原创 一些常见的问题
因为当我们new两个对象,对象有相同的内容,我们覆写了equals,那么两者equals比较必然为true,但是hashcode都是object的,两者返回都是在内存中地址(其实并不是),所以hashcode是不同的,这就违背了java对equals和hashcode的规定:equals相同时hashcode必须相同。3、如果对象的equals方法被重写,那么对象的hashCode也尽量重写,并且产生hashCode使用的对象,一定要和equals方法中使用的一致,否则就会违反上面提到的第2点;
2020-07-24 23:00:19
92
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人