CodeGym /Java Course /모듈 3 /Apache Commons의 ObjectUtils 클래스

Apache Commons의 ObjectUtils 클래스

모듈 3
레벨 20 , 레슨 3
사용 가능

ObjectUtils 클래스 소개

행동 양식:

allNotNull(개체...값) 모든 객체가 null이 아닌지 확인
allNull(개체...값) 모든 객체가 null인지 확인
anyNotNull(객체...값) 하나 이상의 객체가 null이 아닌지 확인
anyNull(객체... 값) 하나 이상의 객체가 null인지 확인
클론(T obj) 개체 복제
클론IfPossible(T obj) 개체를 복제하거나 원본을 반환합니다.
비교(T c1, T c2) 개체 비교
defaultIfNull(T 개체, T defaultValue) 객체가 null인 경우 기본 객체를 반환합니다.
같음(객체 객체1, 객체 객체2) 두 개체를 비교합니다.
notEqual(객체 객체1, 객체 객체2) 두 개체가 같지 않은지 확인
firstNonNull(T...값) null이 아닌 첫 번째 객체를 반환합니다.
getFirstNonNull(공급자 ... 공급자) null이 아닌 첫 번째 객체를 반환합니다.
getIfNull(T 개체, 공급자 default공급자) null이 아니면 주어진 객체를 반환하고, 그렇지 않으면 전달된 Supplier의 Supplier.get() 값을 반환합니다.
해시코드(obj) 개체의 hashCode를 계산합니다.
hashCodeMulti(객체...객체) 개체 그룹에 대한 hashCode를 계산합니다.
isEmpty(객체 객체) 객체가 비어 있는지 또는 null인지 확인
isNotEmpty(객체 객체) 객체가 비어 있거나 null이 아닌지 확인합니다.
requireNonEmpty(T obj) 개체가 null이 아닌지 확인하고 그렇지 않으면 예외를 throw합니다.
requireNonEmpty(T obj, 문자열 메시지) 개체가 null이 아닌지 확인하고 그렇지 않으면 예외를 throw합니다.
identityToString(객체 객체) 객체에 대한 문자열을 반환합니다.
toString(객체 객체) 객체에 대한 문자열을 반환합니다.
toString(개체 객체, 문자열 nullStr) 객체에 대한 문자열을 반환합니다.
toString(개체 객체, 공급자 공급자) 객체에 대한 문자열을 반환합니다.

각 그룹에서 한 가지 방법을 살펴보겠습니다. 매우 편리하고 불필요한 코드를 피할 수 있기 때문에 자주 사용하시기 바랍니다.

ObjectUtils.compare()

이 메서드는 비교기와 같은 방식으로 객체를 비교합니다: 보다 큼, 작거나 같음. 개체를 정렬하는 데 사용할 수 있습니다.

메서드 서명은 다음과 같습니다.

public static <T extends Comparable<? super T>> int compare(final T c1, final T c2);
public static <T extends Comparable<? super T>> int compare(final T c1, final T c2, final boolean nullGreater);

세 번째 매개변수( nullGreater )가 true 이면 null 은 항상 null 이 아닌 값보다 큰 것으로 간주됩니다 . 메서드는 c1> c2이면 양수, c1<c2이면 음수, c1 == c2이면 0을 반환합니다.

예:

String firstValue = "codeGym";
String secondValue = "codeGym";
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();

firstValue = "codeGym";
secondValue = null;
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();

firstValue = "";
secondValue = "codeGym";
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();

프로그램이 결과를 표시합니다.

0
1
-8

ObjectUtils.isNotEmpty()

isNotEmpty() 메소드는 자신에게 전달된 객체가 비어 있지도 않고 null 도 아닌지 확인합니다 .

메소드 서명:

public static boolean isNotEmpty(final Object object)

예:

List<String> values = new ArrayList<>();
System.out.println(ObjectUtils.isNotEmpty(values));

values.add("codeGym");
System.out.println(ObjectUtils.isNotEmpty(values));

values = null;
System.out.println(ObjectUtils.isNotEmpty(values));

결과가 화면에 표시됩니다.

false
true
false

java.util.객체

Java 개발자는 ObjectUtils 의 아이디어를 정말 좋아했기 때문에 JDK 7에서 다음과 같이 추가했습니다.

isNull(Objectobj) 객체가 null인지 확인
nonNull(객체 객체) 객체가 null이 아닌지 확인
toString(객체) 객체를 문자열로 변환
toString(객체, 문자열 nullDefault) 객체를 문자열로 변환
부울 같음(객체 a,객체 b) 개체 비교
부울 deepEquals(객체 a,객체 b) 개체 비교
T requireNonNull(T obj) 전달된 매개변수가 null이 아닌지 확인
T requireNonNull(T obj,String 메시지) 전달된 매개변수가 null이 아닌지 확인
int hashCode(객체 o) 개체의 hashCode를 계산합니다.
int 해시(개체...값) 개체 그룹에 대한 hashCode를 계산합니다.
정수 비교(T a, T b, 비교기 c) 개체 비교

java.util.Objects 클래스는 JDK의 일부 이므로 코드에서 사용하는 것이 좋습니다.

다른 사람의 코드를 읽을 때 ObjectUtils 의 옵션을 보게 될 가능성이 높으며 이는 종종 오픈 소스에서 발생한다는 점에 유의하는 것이 중요합니다. 여기에서 그들이 어떻게 다른지 볼 수 있습니다 .

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION