Java
文章平均质量分 60
daring darling
这个作者很懒,什么都没留下…
展开
-
为什么重写了.euqals()方法一定要重写.hashCode()方法
想要插入一个对象时,通过重写后得到的hashcode,可以很快的找到要存放的位置,但是这个位置已经有元素了,这个元素的内容是不是不清楚和你要插入元素内容的关系呀,所以这时候需要通过重写后的.equals方法来判断了。这是我的第一篇发布的文章啊,创作动力来源于今天有一个同学问了我这个相关问题,我回答的不是特别好,索性重新整理了一遍思路,才写了这样一份小东西,这问题其实也不是很难,但面试时又常常会问到,网上也有很多人写的很好,这篇东西,只是用我自己的语言来解释了我对这个问题的看法和解决方法。原创 2023-10-12 19:16:53 · 46 阅读 · 0 评论 -
为什么局部内部类与匿名内部类只能访问final修饰的局部变量
前提:----局部内部类或匿名内部类调用了它们所在的方法中的局部变量----,在初始化这些类时,会创建一块空间来存放这个局部变量的副本 (这个副本呢可以说是copy原有的变量得来的,具有原有变量的所有性质) 这里可以看作是方法传参的方式。要知道java中,销毁一个对象具有一定的条件,所以说,这些类的生命周期是可以比它们所属的方法要长的。当这个方法调用结束后,相关的栈空间会被释放,那个局部变量也会被销毁。这些类就可能会在后续的访问这个副本的过程中导致-----访问了一个不存在的数据(已经被销毁了)。原创 2023-10-16 19:32:51 · 70 阅读 · 1 评论