읽기 소스 Apache-commons-lang3-3.1(둘)
3441 단어 langObject 도구 클래스객체 관리
ObjectUtils 클래스의 기본 static 방법:
defaultIfNull(T, T)
매개 변수 1은null이고 매개 변수 2로 대체합니다
firstNonNull(T...)
지정한 매개 변수 목록에서null이 아닌 첫 번째 요소 가져오기
equals(Object, Object)
notEqual(Object, Object)
hashCode(Object)
hashCodeMulti(Object...)
다중 대상hashcode 생성 정책
identityToString(Object)
identityToString(StringBuffer, Object)
toString(Object)
toString(Object, String)
min(T...)
지정한 매개 변수 목록에서 가장 작은 요소 가져오기
max(T...)
지정된 매개변수 목록에서 가장 큰 요소 가져오기
compare(T, T)
두 매개 변수의 크기를 비교합니다. 기본값은null보다 작습니다.
compare(T, T, boolean)
두 개의 매개 변수의 크기를 비교합니다. 매개 변수 3은null의 크기를 설정합니다.false는null이 아닌 값보다 작고true는 상반됩니다
median(T...)
매개 변수 목록의 중간 값을 가장 좋은 추측으로 가져옵니다. 만약 목록 수가 짝수라면 중간 값은 낮은 값으로 가져옵니다
median(Comparator
재부팅 방법, 최적 추측 정렬 정책 제공
mode(T...)
매개 변수 목록에서 가장 자주 나타나는 항목 가져오기
clone(T)
cloneIfPossible(T)
1.compare(T, T, boolean) 객체 비교를 위한 새로운 정책입니다.
compare가 정적 메서드인 경우 ObjectUtils.compare(a,b,false)를 비교합니다.
소스 코드:
public static <T extends Comparable<? super T>> int compare(T c1, T c2,
boolean nullGreater) {
if (c1 == c2) {
return 0;
} else if (c1 == null) {
return nullGreater ? 1 : -1;
} else if (c2 == null) {
return nullGreater ? -1 : 1;
}
return c1.compareTo(c2);
}
소스 코드에서 분석하면, 인자 null Greater가true일 때null은null이 아닌 대상보다 크고,false일 때null은null이 아닌 대상보다 작다.
2.median(Comparator
이 두 가지 방법은 다시 불러옵니다. 첫 번째 방법은 매개 변수 목록 대상의 정렬 정책을 제공하고, 두 번째 방법은 자바에서 Tree의 기본 정렬 정책을 사용합니다.목적은 매개 변수 서열의 중간 요소를 찾아내는 것이다. 만약에 매개 변수 서열 요소의 수가 짝수이면 중간 요소는 낮은 위치를 취한다.
범위 객체가 있는 Range 클래스비교 가능한 객체에 적합하며 Range 범위는 변경되지 않으며 모든 유형의 객체 범위가 존재할 수 있으며 범위 내의 요소 유형은 일치해야 합니다.
Range 클래스의 기본 정적 방법:
접근 방법
getMinimum()
최소 요소 가져오기
getMaximum()
최대 요소 가져오기
getComparator()
비교기 객체 가져오기
isNaturalOrdering()
자연 정렬 여부를 판단하다
원소류 방법
contains(T)
객체 액세스 클래스에 T 요소가 있는지 판단
isBefore(T)
T-요소가 객체의 최대 범위에 있는지 판단한 후
isAfter(T)
T-요소가 객체의 최소 범위 앞에 있는지 여부를 판단합니다.
isStartedBy(T)
T 요소가 객체 범위의 시작 요소인지 여부를 판단합니다. 즉, T=minElement
isEndedBy(T)
T 요소가 객체 범위 끝 요소인지 여부를 판단합니다. 즉, T==maxElement
elementCompareTo(T)
T 요소가 객체에 액세스한 위치를 판단하고 int 값을 반환합니다. 위치는 -1[minElement 0 maxElement]1
범위 방법
다음 방법의 실행 조건은 범위 요소 유형이 일치하고 비교 정책이 일치합니다 (compare)
containsRange(Range
매개 변수 범위 대상이 대상 범위에 포함될지 여부
isAfterRange(Range
매개 변수 범위 대상이 대상 범위 앞에 있는지 여부
isBeforeRange(Range
매개 변수 범위 대상이 대상 범위 뒤에 있는지 여부
isOverlappedBy(Range
매개 변수 범위 대상과 대상 범위가 교차하는지 여부
intersectionWith(Range
매개 변수 범위 대상과 대상 범위의 교차 범위 대상을 구하다
1. Range 클래스에는final 유형의Comparator
2. Range 클래스의 기본 비교 전략은 자연 비교
소스 코드는 다음과 같습니다.
public int compare(Object obj1, Object obj2) {
return ((Comparable) obj1).compareTo(obj2);
}
Range 클래스와 ObjectUtils 클래스는 모두 Object를 바탕으로 이루어져 관리 대상에 큰 편의를 가진다.
본문은'야생마 홍진'블로그에서 나왔습니다. 전재를 사절합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
읽기 소스 Apache-commons-lang3-3.1(둘)지정한 매개 변수 목록에서null이 아닌 첫 번째 요소 가져오기 hashCode(Object) identityToString(Object) toString(Object) 지정한 매개 변수 목록에서 가장 작은 요소 가...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.