`

java的equals容易掉的坑

    博客分类:
 
阅读更多
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;

import org.junit.Test;

public class EqualsTest {

	public boolean equals(EqualsTest obj) {
		return true;
	}

	@Test
	public void test() {
		assertThat(new EqualsTest(), equalTo(new EqualsTest()));
	}

}




其实这个是通不过的,要把equals的参数改为Object
当然如果你有@Override注解也是很容易发现的


public boolean equals(Object obj) {
		return true;
	}

这样就能通过了
1
3
分享到:
评论

相关推荐

    浅谈java 重写equals方法的种种坑

    关于 Java 中重写 equals 方法的种种坑 Java 中的 equals 方法是一种用于比较对象是否相等的方法,它是 Object 类中的一个方法。然而,重写 equals 方法并不是一件简单的事情,因为它需要遵守一些约定,否则可能会...

    避坑手册 - JAVA编码中容易踩坑的十大陷阱.doc

    以下是一些在Java编码中容易出现的陷阱及其解决方法: 1. 循环中操作目标List: 当你需要在遍历List的同时删除元素时,直接使用for-each循环或者索引循环是错误的。这两种方式都会导致`...

    Java业务开发常见错误.zip

    "16丨用好Java8的日期时间类,少踩一些‘老三样’的坑.pdf"提到了Java 8的日期和时间API改进,它比旧的Calendar和Date类更易于使用。文档可能介绍了如何正确使用LocalDateTime、ZonedDateTime等新类,避免使用旧API...

    Java开发者的十大戒律

    过长且复杂的条件语句不仅难以阅读,还容易引入错误。比如下面的例子: ```java if(newStatusCode.equals("SD") && (sellOffDate == null || todayDate.compareTo(sellOffDate) || (lastUsedDate != null && ...

    java8集合源码分析-common-mistakes:常见错误

    线程池:业务代码最常用也最容易犯错的组件:threadpool HTTP调用:你考虑到超时、重试、并发了吗?:httpinvoke 连接池:别让连接池帮了倒忙:connectionpool 20%的业务代码的Spring声明式事务,可能都没处理正确:...

Global site tag (gtag.js) - Google Analytics