equals() 와 hashCode() 는 함께 오버라이드 할 것.
자료형 |
해시 값 계산 방법 | ||
---|---|---|---|
boolean |
(value ? 1 : 0) |
||
byte, char short, int |
(int) value |
||
float |
Float.floatToIneBits(value) |
||
double |
Double.doubleToLongBits(value) |
||
String 및 기타 객체 | "test".hashCode() |
package Test; public class Test { int intVal; String strVal; public Test(int intVal, String strVal) { this.intVal = intVal; this.strVal = strVal; } public int getIntVal() { return intVal; } public void setIntVal(int intVal) { this.intVal = intVal; } public String getStrVal() { return strVal; } public void setStrVal(String strVal) { this.strVal = strVal; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + intVal; result = prime * result + ((strVal == null) ? 0 : strVal.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Test other = (Test) obj; if (intVal != other.intVal) return false; if (strVal == null) { if (other.strVal != null) return false; } else if (!strVal.equals(other.strVal)) return false; return true; } }
이클립스에서는 만드는 방법
단축키 Shift + Alt + S
Generate hashCode() and equals()... 선택
'대학 생활 > JAVA' 카테고리의 다른 글
[JAVA] 리스트와 배열 간 복사 방법 (0) | 2015.04.08 |
---|---|
[JAVA] String 인코딩 (0) | 2015.04.01 |
[JAVA] int to string 여러가지 방법 속도비교 (0) | 2015.02.08 |
[JAVA] method array 만들기 (0) | 2015.01.14 |