java - .equals() 如何比较对象?
问题描述
这可能很容易,但我无法弄清楚我做错了什么。我正在为已经为我提供的junit测试做一个java文件,如下
public void testEquals() {
LogicVariable a = new LogicVariable("Y1");
LogicVariable b = new LogicVariable("Y1");
assertTrue(a.equals(b)); // same name
assertTrue(a.equals((Object)b));
}
我到了我的测试用这个的地步(请记住,这段代码不仅仅用于这个测试,所以我有两个同名的构造函数)
public class LogicVariable {
protected String name;
protected boolean value ;
public LogicVariable(String name) {
this.name = name;
}
public LogicVariable(String name, boolean value) {
this.name = name;
this.value = value;
}
据我了解,有多个具有相同名称但输入不同的构造函数,它会自动为给定的参数选择合适的构造函数(在这种情况下,跳过带有布尔值的构造函数)。我这样想错了吗?我不知道为什么 a 和 b 不同,因为它们都是只有名字的对象。
感谢你的帮助
解决方案
推荐阅读
- javascript - 如何获取在jQuery中单击相应按钮的表中一行的记录
- julia - 在 Julia 中读取大型 CSV 文件所花费的时间
- c++ - GetWindowLong(hwnd, 0) 是什么意思?
- webstorm - 如何在 WebStorm 中使用“快速写作”?
- xamarin - 使用 xamarin 表单,仍然在应用商店“ITMS-90809:不推荐使用的 API 使用”中收到 UIWebView 弃用警告
- python - Python Snake 游戏中的弹出图片
- javascript - Vue:使用 router.resolve 进行路由导航(在新选项卡中打开页面),参数中的数据丢失
- android-studio - Android Studio 中的 Gradle 同步显示错误“无法获取 kotlin-stdlib-jdk8-1.3.50.pom”。来自服务器的状态码 403
- postgresql - 如何使用 Postgres 计算平均日期差
- c# - 如何配置 xUnit 测试以使用 NLog?