JAVA
equals()와 hashCode() 함수 차이
JUN0126
2021. 7. 3. 00:38
equals() 메서드란?
- 두 객체의 내용이 같은지 확인하는 메서드
hashCode() 메서드란?
- 두 객체가 같은 객체인지 메모리 주소로 확인하는 메서드
@Test
void isEqual() {
Car newCar = new Car("lee",28);
Car oldCar = new Car("lee",28);
boolean result = newCar.equals(oldCar);
assertThat(result).isFalse();
}
@Test
void isHashCode() {
Car newCar = new Car("lee",28);
Car oldCar = new Car("lee",28);
Map<Car,Integer> car = new HashMap<Car,Integer>();
car.put(newCar, 1);
car.put(oldCar, 1);
int number = car.size();
// Hash를 사용한 Collection은 key를 결정할 떄 hashCode()를 사용하여 값이 2로 출력
assertThat(number).isEqualTo(2);
}