Objects 흔 한 Object 방법-Google Guava
Objects 클래스 는 모든 대상 에 적 용 됩 니 다.예 를 들 어 equals、hashCode 등 보조 함수.자바 7 이후 Objects 류 를 제공 하 였 으 며,Guava 는 자바 자체 의 Objects 로 점차 교체 되 었 다.
상용 방법
방법 유형
방법 설명
static boolean
equal(@Nullable Object a, @Nullable Object b) null 일 수 있 는 두 대상 이 같 는 지 확인 합 니 다.
static int
hashCode(Object... objects) 여러 값 에 해시 코드 를 생 성 합 니 다.
[ equals ]
대상 의 필드 가 null 일 때 Object.equals 방법 을 실현 하 는 것 은 매우 고 통 스 러 울 것 입 니 다.각각 null 검 사 를 해 야 하기 때 문 입 니 다.Objects.equal 을 사용 하여 null 의 민감 한 equals 판단 을 수행 하도록 도와 NullPointer Exception 을 던 지지 않도록 합 니 다.예 를 들 면:
Objects.equal("a","a"); // returns true
Objects.equal(null,"a"); // returns false
Objects.equal("a",null); // returns false
Objects.equal(null,null); // returns true
[ hashCode ]
대상 의 모든 필드 로 해시[hash]연산 을 하 는 것 이 더 간단 해 야 합 니 다.Guava 의 Objects.hashCode(Object...)는 들 어 오 는 필드 시퀀스 에 대해 합 리 적 이 고 순서 가 민감 한 해시 값 을 계산 합 니 다.해시 값 을 수 동 으로 계산 하 는 대신 Objects.hashCode(field 1,field 2,...,fieldn)를 사용 할 수 있 습 니 다.
int h1 = Objects.hashCode(1, "two", 3.0);
int h2 = Objects.hashCode(new Integer(1), new String("two"), new Double(3.0));
assertEquals(h1, h2);
System.out.println(h1 == h2); // true