BooleanUtils, CharUtils, ClassUtils, CharSetUtils, LocaleUtils 일단 이 클래스들은 거의 쓰지 않는다.
이들을 포괄하는 클래스가 ObjectUtils이다.
기능이 매우 적은 게 문제지만
몇가지 알아두면 좋을것이 있고, ObectUtils는 StringUtils
와 달리
모든 Object에 대응하므로 쓸만한 가치가 있다.
defaultIfNull()
: 오브젝트가 null일경우 대체값을 줄수 있다.
equals()
// ObjectUtils.isEmpty() 내부
public static boolean isEmpty(@Nullable Object obj) {
if (obj == null) {
return true;
} else if (obj instanceof Optional) {
return !((Optional)obj).isPresent();
} else if (obj instanceof CharSequence) {
return ((CharSequence)obj).length() == 0;
} else if (obj.getClass().isArray()) {
return Array.getLength(obj) == 0;
} else if (obj instanceof Collection) {
return ((Collection)obj).isEmpty();
} else {
return obj instanceof Map ? ((Map)obj).isEmpty() : false;
}
}