Java에서 상위 클래스 Object의 일반적인 방법 요약

3188 단어 javaobject
소개
Object 클래스: 이 클래스java.lang.java는 모든 클래스에서 기본적으로 상속되는 상위 클래스입니다.
Object 클래스에서 자주 사용하는 세 가지 방법: toString(), equal() , hashCode()1. toString() 메소드 객체에 대한 자기설명, 객체에 대한 자기소개
대상의 자기 묘사 과정에서 사용get() 방법으로 실례 변수를 인쇄하는 것이 비교적 번거롭기 때문에 간편하기 위해 사용toString() .

Public String toString(){


Return “ ” + getNo() + “ ” + getName();

}
System.out.println(s); 해당
인쇄:
a. 기본 데이터 형식의 값을 직접 인쇄합니다.
b. 데이터 형식을 인용할 때 호출 System.out.println(s.toString()); 인쇄
Object 클래스의 toString() 메서드가 없을 때 객체를 직접 인쇄하여 콘솔에서 얻은 결과는 다음과 같습니다.
패키지 이름 @ 객체의 hashCode
2. equals () 방법은 equals () 를 다시 쓰려면 hashCode () 를 다시 써야 합니다.toString() 두 대상 또는 두 대상의 내용을 비교한다.Equals()는 객체의 내부 주소이며 정수입니다.
= = equals()와의 차이점?
답: = 실질적으로 비교하는 것은 2진법이고 기본 데이터 유형은 수치이며 인용 데이터 유형은 주소이다hashCode() 는 Object 클래스Equals()와 String 클래스equals()로 나뉘는데 Object 클래스equals() 는 = 인용 유형 상황에 해당한다.String 클래스의 equals() Object 클래스의 equals() 방법을 다시 썼습니다. 비교한 것은 글자 값입니다.
Instanceof 판단 클래스 이름 또는 반사 사용 가능
대상의 인용 변수 이름 instanceof 클래스 이름 이 표현식, 대상의 인용 변수 이름이 뒤에 있는 클래스나 기본 클래스 대상이면 반환값은true입니다.
사용자 정의equals() 방법:
     1.유형 덕이 같다
     2.자신의 비교 규칙을 정의하다

public boolean equals(Object object){ // Object equals() 

EqualsTest equalsTest = (EqualsTest) object;

if(equalsTest.getClass() == EqualsTest.class){ //???????????

if((this.name==equalsTest.name)&&(this.price== qualsTest.price)){

return true;

}else{

return false;

}

}else{

return false;

}

}
3. hashCode() 방법은 검색을 가속화하고 색인 검색(검색 알고리즘, 저장 알고리즘)을 실현하는 데 사용된다

Public int hashCode(){

Return this.name.hashCode()*13 + new Interger(getAge).hashCode()*12;

}
hashCode의 두 가지 원칙:
     1.두 대상equals()의 방법이 반환치가true일 때 그들equals()의 방법도 반환치가 같다는 것을 보증해야 한다.
     2.대상에 사용된 속성hashCode()을 비교하여 계산해야 한다equals().
hashCode() 해시 알고리즘
요구 사항:
     1. hashCode() 반환값이 같고 hashCode() 반환값도 반드시 같아야 한다.
     2.다시 쓰기equals()는 어떤 속성을 사용했는지, hashCode() 방법에서도 어떤 속성을 사용했는지.
주:hashCode는 같고, equals는 반드시 같지 않습니다.
hashCode는 폴더를 판단하는 데 사용되고, equals는 파일을 판단하는 데 사용됩니다.equals() 방법을 다시 쓰지 않으면 기본적인hashCode () 방법은 대상의 주소에 따라 구합니다. (키 값은 대상의 주소입니다.)
다시 쓴다면hashCode() 방법은 같은 대상인지 아닌지를 판단할 수 없고,
(대상의 인용명)hashCode가 같으면 같은 대상을 사용할 수 있습니다.hashCode()만약 System.identityHashCode이 없다면, 그 대상의 해시코드는 대상 주소를 통해 계산된다.System.out.println(System.identityHashCode( ));참고: HashSet 컬렉션에서 요소의 존재 여부와 삭제 작업에 의존하는 방법은 요소의 hashCode() System.out.println( .hashCode());총결산
이상은 여러분을 위해 정리한 자바의 부류 Object의 세 가지 상용 방법입니다. 여러분께 도움이 되었으면 좋겠습니다. 의문이 있으면 댓글로 소통해 주십시오. 저희에 대한 지지에 감사드립니다.

좋은 웹페이지 즐겨찾기