面试
文章平均质量分 80
每天进步亿点点的小码农
Later equals never
展开
-
Spring中是否可以存在两个相同ID的bean
1、在解析xml文件时,会去校验同一个文件中不能存在相同 ID 的 bean,如果存在,会抛异常2、在解析@Bean注解时,会去校验同一个配置类中如果存在相同名称的 bean,如果存在,先注册的生效,后面的将不注册3、在扫描@Component注解时,会校验名称相同的两个bean中,前一个如果是扫描注册的,且和后一个不是同一个bean,就会抛异常4、前3个校验都是在真正注册之前校验的,如果都通过了,会在真正进行注册的地方通过参数来判断是覆盖还是抛异常。原创 2023-09-26 08:44:39 · 1313 阅读 · 0 评论 -
为什么重写equals方法时要重写hashCode方法
所以如果只重写equals方法而不重写hashCode方法,就违反了“如果两个对象的equals方法返回true,则它们的hashCode方法必须返回相同的值”的规定,其实在Object类equals方法上的注解中写有写到,我们看下。hashCode方法默认使用的是对象的内存地址作为哈希值,因此在不重写该方法的情况下,同一个类的不同对象的哈希值一定是不同的。如果两个对象的equals方法返回false,则它们的hashCode方法可以返回相同的值,也可以返回不同的值;原创 2023-03-07 21:17:04 · 199 阅读 · 0 评论