如果有人可以提供幫助,將不勝感激。
uj5u.com熱心網友回復:
我看不到任何初始化或增加int count變數的代碼。但正如你所說,你不需要count變數,只需size()在employeesList 中使用方法
@Override
public int getEmployeeCount() {
return this.employees.size();
}
uj5u.com熱心網友回復:
在@BeforeEach 中,您通過創建 4 名員工進行測驗。
- 你的雇傭方法是 'employees.add(p);' ,因此它擴展了您的串列。
- 您的 fire 方法不執行任何操作,只是回傳 false。
然而,你希望在測驗testFire和testGetEmployeeCount員工的數量有所減少。那不會發生并且會失敗。
您需要以下修復: 重要 - 在您的 PersonImpl 類上實作 equals 和 hash 代碼(因此您可以比較相等的物件內容而不是物件哈希值)。您可以使用 guava 或 apache commmons 或 lombok 或任何其他方式來做到這一點。
然后在'fire'方法中實作:
@Override
public boolean fire(Person p) {
return employees.remove(p);
}
在這種情況下,我假設您將在您的班級的“雇用”方法中實施限制以擁有重復的員工,因此您只需將其洗掉一次。如果員工可以是重復的,那么洗掉包括重復的員工:
return employees.removeAll(Collections.singletonList(p));
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/400206.html
