![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java那些事
JYYabc
一名双非二本小透明
展开
-
==和equals的区别
2.判断输入的对象是不是字符串类型,如果不是直接返回false;如果是,再将两个字符串一个字符一个字符比较是否相等,如果相等返回true。,比如String类,重写equals方法,方法内部比较的是字符串中各个字符是否全部相等。1.先判断两个对象的引用地址是否相等,相等返回true。自定义类中是比较引用地址是否相等,相等返回ture。原创 2022-12-15 11:36:33 · 109 阅读 · 1 评论 -
重写equals方法为什么一定要重写hashcode?
User类中有个name属性,重写了equals方法,来验证两个对象是否相等,只要他们的name值相等,就认为这两个对象相等。并没有找到上面存入的对象所对应的值,说明只改写equals方法不能判断两个对象是否相等。如果重写equals方法就能判断两个对象是否相等,那执行的结果一定是能找到!所以重写equals方法,一定要重写hashcode方法!尝试加入重写hashcode方法后,结果如何?原创 2022-12-14 15:24:01 · 152 阅读 · 0 评论 -
Java1.6/1.7/1.8版本中字符串常量池的位置变化
Jdk1.6及之前: JVM存在永久代, 运行时常量池在永久代,运行时常量池包含字符串常量池Jdk1.7:有永久代,但已经逐步“去永久代”,字符串常量池从永久代里的运行时常量池分离到堆里Jdk1.8及之后: 无永久代,变成了元空间,运行时常量池在元空间,字符串常量池依然在堆里原创 2022-12-07 15:06:59 · 612 阅读 · 0 评论 -
关于m++和++m的那些事
相信很多小伙伴们都被m++、++m整蒙过,到底什么时候+1啊,当然这个问题也困扰过小编。今天小编就带领大家看看他的真面目!咱们先来看个代码,小试牛刀一下:public class FristSample{ public static void main(String[] args){ int a = 0; for(a++ > 0){ System.out.println(a + "###");原创 2022-03-12 17:09:02 · 4056 阅读 · 1 评论