相关疑难解决方法(0)

覆盖java equals()方法 - 不工作?

我遇到了一个有趣(而且非常令人沮丧)的问题,equals()今天的方法导致了我认为是经过良好测试的类崩溃并导致我花了很长时间才能追踪的错误.

为了完整起见,我没有使用IDE或调试器 - 只是老式的文本编辑器和System.out.时间非常有限,这是一个学校项目.

无论如何 -

我开发一个基本的购物车可能包含ArrayListBook对象.为了贯彻落实addBook(),removeBook()以及hasBook()对车的方法,我想检查是否Book已在存在Cart.我走了 -

public boolean equals(Book b) {
    ... // More code here - null checks
    if (b.getID() == this.getID()) return true;
    else return false;
}
Run Code Online (Sandbox Code Playgroud)

一切都在测试中运行良好.我创建了6个对象并用数据填充它们.做了很多添加,删除,has()操作Cart,一切正常.我读到你可以拥有equals(TYPE var)或者equals(Object o) { (CAST) var }假设因为它有效,所以没关系太多.

然后我遇到了一个问题 - 我需要在Book类中创建一个包含它的Book对象.不会输入任何其他数据.基本上如下:ID

public boolean hasBook(int i) {
    Book b = new Book(i); …
Run Code Online (Sandbox Code Playgroud)

java overriding equals

150
推荐指数
4
解决办法
25万
查看次数

从ArrayList中删除元素

我必须删除元素ArrayList,但我没有经历过.我必须删除的元素也可用ArrayList.简而言之,我必须从另一个数组列表中删除一个数组列表.例如假设

ArrayList<String> arr1= new ArrayList<String>();
ArrayList<String> arr2 = new ArrayList<String>();
arr1.add("1"); 
arr1.add("2"); 
arr1.add("3"); 

arr2.add("2"); 
arr2.add("4"); 
Run Code Online (Sandbox Code Playgroud)

现在,我必须从arr1中删除arr2中的元素.那么,我的最终答案是1和3.需要做什么?

java arraylist

1
推荐指数
1
解决办法
9828
查看次数

标签 统计

java ×2

arraylist ×1

equals ×1

overriding ×1