JAVA Object 객체가 비어있는지 체크

2016.11.11 11:27language/java

 


객체들이 비어있는지 체크하는 것은 늘 있는 일이다.

 

하지만 객체들마다 비어있는지 체크하는 방법이 다르고

 

단순히 null 만을 가지고 객체들이 비어있다고 판단하기에는 너무 부족하다.

 

예를들어 String 문자열일 경우 null 도 가질수 있고 "" 처럼 공백도 가질 수 있다.

 

매번 null 또는 "" 공백을 체크할 것인가 ?

 

또한 컬랙션의 경우도 역시 null 또는 size 0 또는 객체가 생성되었지만 비어있는 채로 있을 수 있다.

 

이럴때마다 null 또는 size 0 또는 empty 여부를 모두 확인해 볼 수는 없지않나...

 

이를 좀더 쉽게 하기 위해서 아래와 같이 공통 함수를 만들어 놓으면 편하다.

 

여러 객체에 대해 비어있는지 여부를 반환해주는 함수이다.



 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
  * Object type 변수가 비어있는지 체크
  * 
  * @param obj 
  * @return Boolean : true / false
  */
 public static Boolean empty(Object obj) {
  if (obj instanceof Stringreturn obj == null || "".equals(obj.toString().trim());
  else if (obj instanceof List) return obj == null || ((List) obj).isEmpty();
  else if (obj instanceof Map) return obj == null || ((Map) obj).isEmpty();
  else if (obj instanceof Object[]) return obj == null || Array.getLength(obj) == 0;
  else return obj == null;
 }
 
 /**
  * Object type 변수가 비어있지 않은지 체크
  * 
  * @param obj
  * @return Boolean : true / false
  */
 public static Boolean notEmpty(Object obj) {
  return !empty(obj);
 }
 
cs