2014-09-03 3 views
3

클래스 인스턴스가 null인지 아닌지 확인하는 메소드를 만들고 싶습니다.== null을 제외하고 객체가 null인지 아닌지 확인하는 방법

단순히 내가 == null을 사용할 수 있다는 것을 알고 있지만 인스턴스가 null인지 아닌지 확인하기 위해 구현할 수있는 다른 방법이 있는지 알고 싶습니다.

나는 거의 70-80 클래스 인스턴스를가집니다. & 그 클래스는 모두 동급 클래스 BaseEntity입니다.

이 선언의 시간에 내가 좋아하는 각 인스턴스를 선언 있습니다

Entity1 INSTANCE1 = NULL;

처럼 모든 것을 정의했습니다. 70 class instances입니다.

언제 사용할지 새 것을 사용하여 초기화하고 있습니다. 하지만 내 주 Entity Processor 끝 부분에서 초기화 된 각 엔터티 ID의 데이터를 저장해야하므로 인스턴스가 null인지 아닌지 확인해야합니다.

All Entities extend 동급 BaseEntity 그래서 다음과 같은 방법을 만들었습니다. 이 반환하는 경우

public boolean checkIfEntityNull(BaseEntity entity){ 
     return entity != null ? true : false; 
} 

true 다음 내가 그렇지 않으면 방법을 저장 호출 할 것이다 save method of repository to save data in DB의 IT를 호출 할 것이다 :

나는 하나의 방법을 알고있다.

그래서 그것에 대한 모든 지침.

+2

자바 8에 추가되었습니다!'반환 실체 = null이? – BackSlash

+1

솔직히 말해서, 클래스에서 70 개의 변수가 필요한 경우 (ArrayList 은 더 좋지 않겠습니까?) 하지만 분리되어 있습니다. 그런데, == 비교에 무엇이 잘못 되었습니까? 또한, 그 방법을 쓸 것입니다 : public boolean checkIfEntityNull (Object entity) { return entity! = null; } – Pienterekaak

+0

@BackSlash : 나는 그것을 줄였습니다. –

답변

4

가장 쉬운 검사 방법은 entity == null입니다. 그렇게 할 수있는 더 짧은 길은 없습니다.

Objects.isNull(Object obj)

하고, 상기 하나의 반대 인 다른 :

Objects.nonNull(Object obj)

그리고 거기 표준 LIB이 방법이 있음

참고 값이 null이 아니게 강제하는 데 사용할 수있는 또 다른 방법은 NullPointerException입니다.

T Objects.requireNonNull(T obj);

참고 :Objects 클래스는 자바 7에 추가 된,하지만 isNull()nonNull() 방법은 사이드 노트

+0

또한이 메소드는 Java 8에서 소개되었으므로 이전 버전을 사용하는 경우에는 사용할 수 없습니다. – BackSlash

+0

예'Java 7 update 67'을 사용하고 있으므로 사용할 수 없습니다. –

+0

** 자바 7 **에서 소개되었으므로 ** 사용할 수 있습니다 **. – icza

관련 문제