728x90
@Override
public boolean equals(Object obj)
@Override
public boolean equals(Object obj) {
// 객체 비교
if (this == obj) { // this는 주소값 비교할려고 넣은 것
return true;
}
if(obj == null) {
return false;
}
if(getClass() != obj.getClass()) { // 내 클래스 정보와 상대방의 클래스 정보가 같은지 비교
return false;
}
pModelVo02 other = (pModelVo02)obj; // 다운캐스팅 : obj->Snack
if(name == null) { // other는 레퍼런스 변수
if(other.name != null) {
return false;
}
}else if(!name.equals(other.name)) { // 이름에 대한 비교
return false;
}
if(weight != other.weight) { // 목록에 대한 비교
return false;
}
return true;
}
@Override
public int hashCode()
@Override
public int hashCode() {
final int PRIME = 31; // 컴퓨터가 이해하기 좋은 숫자가 31이라함
int result = 1;
result = PRIME * result + (name == null ? 0 : name.hashCode()); // 내 해쉬코드가 아니라 스트링의 해쉬코드를 가져오는 것
result = PRIME * result + weight; // 형이 안맞아서 에러나니 캐스팅 또는 소수점 없게끔 계산
return result;
}
@Override
public int compareTo(Object o)
@Override
public int compareTo(Object o) {
// Dog 이름 오름차순
// Object o를 다운 캐스팅 해줘야함
pModelVo02 otherP = (pModelVo02)o;
String other = otherP.name;
int result = name.compareTo(other); // compareTO 자체가 인트값 반환
return 0;
}
728x90
반응형
'JAVA > review of learning' 카테고리의 다른 글
[Java] 이클립스 팁 : 상속관계Overrides , 반환타입returns 확인하는 법 (0) | 2022.03.05 |
---|---|
[Java] 이클립스 팁 : 반환타입, 제네릭(Generic)타입 확인하는 법 (0) | 2022.03.05 |
[Java] 이클립스(Eclipse) 자바 버젼 변경하기 & 삭제 + 인코딩 세팅 (0) | 2022.02.04 |
[Java] this키워드 : 포인팅 포인트 (0) | 2022.02.02 |
[Java] Call by reference & Call by value 개념 (0) | 2022.01.09 |