상세 컨텐츠

본문 제목

Java : Wrapper Class 활용 - primitive타입에 null을 표현하자.

IT/프로그래밍

by James Lee. 2017. 8. 14. 10:41

본문

Edit

Java : Wrapper Class 활용 - primitive 타입에 null을 표현하자.

boolean 형태일 경우 true / false 두 가지의 값을 전달할 수 있다.

public class VerificationSearch extends WorkListSearch {

@JsonProperty("searchStudyDateRange")
private SearchStudyDataRange searchStudyDataRange;

@JsonProperty("isVerified")
private boolean isVerified; //true / false만 표현 가능

@JsonIgnore
public boolean isVerified() {
return isVerified;
}
}

그런데 true / false 값 말고 null값을 전달하려고 한다면 어떻게 될까?

실제로 true / false 값이 아니라 값을 입력해주지 않았을 경우 특정 처리를 해줘야 하는 경우가 있다.

이렇게 기본형 타입에 null을 표현하기 위하여 Wrapper Class을 쓰는 방법이 있다. 이 경우는 Boolean이 되겠다.

public class VerificationSearch extends WorkListSearch {

@JsonProperty("searchStudyDateRange")
private SearchStudyDataRange searchStudyDataRange;

@JsonProperty("isVerified")
private Boolean isVerified; //Wrapper 클래스는 객체이기 때문에 null 표현 가능

@JsonIgnore
public Boolean isVerified() {
return isVerified;
}
}

단, Null 예외 처리에 주의하도록 하자.

Wrapper Class란?
본 포스팅에서는 별도로 다루지 않는다. 여기를 참고해보자.

%23%20Java%20%3A%20Wrapper%20Class%20%uD65C%uC6A9%20-%20%20null%uC744%20%uD45C%uD604%uD558%uC790.%0A%0A@%28Java%29%5B%uD2F0%uC2A4%uD1A0%uB9AC%2C%20Java%5D%0A%0Aboolean%20%uD615%uD0DC%uC77C%20%uACBD%uC6B0%20true%20/%20false%20%uB450%20%uAC00%uC9C0%uC758%20%uAC12%uC744%20%uC804%uB2EC%uD560%20%uC218%20%uC788%uB2E4.%0A%0A%60%60%60%0Apublic%20class%20VerificationSearch%20extends%20WorkListSearch%20%7B%0A%0A%20%20%20%20@JsonProperty%28%22searchStudyDateRange%22%29%0A%20%20%20%20private%20SearchStudyDataRange%20searchStudyDataRange%3B%0A%0A%20%20%20%20@JsonProperty%28%22isVerified%22%29%0A%20%20%20%20private%20boolean%20isVerified%3B%20//true%20/%20false%uB9CC%20%uD45C%uD604%20%uAC00%uB2A5%0A%0A%20%20%20%20@JsonIgnore%0A%20%20%20%20public%20boolean%20isVerified%28%29%20%7B%0A%20%20%20%20%20%20%20%20return%20isVerified%3B%0A%20%20%20%20%7D%0A%7D%0A%60%60%60%0A%0A%uADF8%uB7F0%uB370%20true%20/%20false%20%uAC12%20%uB9D0%uACE0%20null%uAC12%uC744%20%uC804%uB2EC%uD558%uB824%uACE0%20%uD55C%uB2E4%uBA74%20%uC5B4%uB5BB%uAC8C%20%uB420%uAE4C%3F%0A%0A%uC2E4%uC81C%uB85C%20true%20/%20false%20%uAC12%uC774%20%uC544%uB2C8%uB77C%20%uAC12%uC744%20%uC785%uB825%uD574%uC8FC%uC9C0%20%uC54A%uC558%uC744%20%uACBD%uC6B0%20%uD2B9%uC815%20%uCC98%uB9AC%uB97C%20%uD574%uC918%uC57C%20%uD558%uB294%20%uACBD%uC6B0%uAC00%20%uC788%uB2E4.%20%0A%0A__%uC774%uB807%uAC8C%20%uAE30%uBCF8%uD615%20%uD0C0%uC785%uC5D0%20null%uC744%20%uD45C%uD604%uD558%uAE30%20%uC704%uD558%uC5EC%20Wrapper%20Class%uC744%20%uC4F0%uB294%20%uBC29%uBC95%uC774%20%uC788%uB2E4.__%20%uC774%20%uACBD%uC6B0%uB294%20Boolean%uC774%20%uB418%uACA0%uB2E4.%0A%0A%60%60%60%0Apublic%20class%20VerificationSearch%20extends%20WorkListSearch%20%7B%0A%0A%20%20%20%20@JsonProperty%28%22searchStudyDateRange%22%29%0A%20%20%20%20private%20SearchStudyDataRange%20searchStudyDataRange%3B%0A%0A%20%20%20%20@JsonProperty%28%22isVerified%22%29%0A%20%20%20%20private%20Boolean%20isVerified%3B%20//Wrapper%20%uD074%uB798%uC2A4%uB294%20%uAC1D%uCCB4%uC774%uAE30%20%uB54C%uBB38%uC5D0%20null%20%uD45C%uD604%20%uAC00%uB2A5%0A%0A%20%20%20%20@JsonIgnore%0A%20%20%20%20public%20Boolean%20isVerified%28%29%20%7B%0A%20%20%20%20%20%20%20%20return%20isVerified%3B%0A%20%20%20%20%7D%0A%7D%0A%60%60%60%0A%0A%uB2E8%2C%20__Null%20%uC608%uC678%20%uCC98%uB9AC%uC5D0%20%uC8FC%uC758%uD558%uB3C4%uB85D%20%uD558%uC790.__%0A%0A__Wrapper%20Class%uB780%3F__%0A%uBCF8%20%uD3EC%uC2A4%uD305%uC5D0%uC11C%uB294%20%uBCC4%uB3C4%uB85C%20%uB2E4%uB8E8%uC9C0%20%uC54A%uB294%uB2E4.%20%5B%uC5EC%uAE30%5D%28http%3A//hyeonstorage.tistory.com/168%29%uB97C%20%uCC38%uACE0%uD574%uBCF4%uC790.%0A%21%5BAlt%20text%5D%28./1502674526893.png%29%0A


관련글 더보기

댓글 영역