대상의 비교 및hashCode,equals 방법의 사용
4
import java.util.HashMap;
import java.util.Map;
/*
* @author mnmlist
* @date 8/18/2015
* @description the basic usage of hashCode and equals method
*/
class Stu
{
String sno;
String sname;
public Stu(String sno,String sname)
{
this.sno=sno;
this.sname=sname;
}
public String getSno()
{
return sno;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Stu))
return false;
if(obj==this)
return true;
return this.sno.equals(((Stu)obj).getSno());
}
public int hashCode()
{
return (sno+sname).hashCode();
}
}
public class HashcodeDemo
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Map<Stu, Integer>map=new HashMap<>();
Stu st1=new Stu("123", "Sting");
Stu st2=new Stu("234", "mnmlist");
Stu st3=new Stu("345", "Tony");
map.put(st1, 1);
map.put(st2,2);
map.put(st3, 3);
Stu stu=new Stu("123", "Sting");
System.out.println(map.containsKey(stu));
}
}
상기 코드와 같이hashCode 덮어쓰기 방법과 equals 방법으로 대상에 대한 비교를 실현할 수 있다.결과:
true
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Secrets of equals() - Part 2A Point object should only compare equal to a ColoredPoint object if the color field contains a default value. Two objec...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.