Đây là phương pháp bình đẳng HashMap làm việc như thế nào:
public boolean equals(Object o) {
..........
..........
Map<K,V> m = (Map<K,V>) o;
..........
Iterator<Entry<K,V>> i = entrySet().iterator();
while (i.hasNext()) {
Entry<K,V> e = i.next();
K key = e.getKey();
V value = e.getValue();
if (value == null) {
if (!(m.get(key)==null && m.containsKey(key)))
return false;
} else {
if (!value.equals(m.get(key)))
return false;
}
...........
...........
return true;
}
Bây giờ kể từ đó, nó được gọi equals phương pháp của các đối tượng giá trị gia tăng, có nghĩa là đối tượng giá trị gia tăng cho một chìa khóa cho nên cùng (như điều chỉnh bằng phương pháp tương đương) .
Ở trên sẽ giúp bạn hiểu trường hợp nào JUnit của bạn sẽ vượt qua. Trong phương pháp JUnit, bạn có thể sử dụng:
public static void assertEquals(java.lang.Object expected,
java.lang.Object actual)
Xem link để biết thêm chi tiết.
Chúc mừng !!
Nguồn
2013-09-05 04:45:09
Nếu bạn đang sử dụng Java 1.7 hoặc phiên bản cao hơn, bên dưới đoạn mã sẽ làm việc. '' 'Đối tượng.bằng (expectedWordMap, actualWordMap) '' ' . . Vui lòng tìm thêm thông tin tại đây về phương thức equals: https://docs.oracle.com/javase/8/docs/api/java/util/Objects.html#equals-java.lang.Object-java.lang.Object - - –