![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
Ou&Y
这个作者很懒,什么都没留下…
展开
-
为什么重写equals方法一定要重写hashCode方法?
首先我们看下Object类的equals方法和hashCode方法:hashCode()方法是本地方法,返回的是对象引用中存储的对象的内存地址;equals()方法是利用==来比较两个对象的内存地址是否相同。public native int hashCode();public boolean equals(Object obj) { return (this == obj);}...原创 2019-07-17 15:59:56 · 398 阅读 · 0 评论 -
foreach循环能否修改数组问题解析
首先抛出结论:如果foreach循环操作的数据的类型是普通数据类型,则在foreach中修改数组内容无效;如果foreach循环操作的数据类型是引用类型,则修改数组内容有效。(建议:foreach只用于遍历,需要操作数组时直接使用传统的for循环较好)接下来举例子说明:(1) foreach循环操作的数据类型是普通数据类型:String[] str1 = { "a", "b", "c...原创 2019-07-16 09:52:21 · 2440 阅读 · 0 评论 -
快速失败(fail-fast)和安全失败(fail-safe)
对于线程不安全的类,并发情况下可能会出现fail-fast情况;而线程安全的类,可能出现fail-safe的情况。快速失败(fail-fast)机制是当遍历一个集合对象时,如果集合对象的结构被修改了,则会抛出java.util.ConcurrentModificationException异常。java.util包下面的所有的集合类都是快速失败的。import java.util.Arr...原创 2019-07-20 15:01:23 · 458 阅读 · 2 评论