반응형
Collections.emptyList ()와 Collections.EMPTY_LIST의 차이점은 무엇입니까?
Java에는 Collections.emptyList () 및 Collections.EMPTY_LIST가 있습니다. 둘 다 동일한 속성을 갖습니다.
빈 목록 (불변)을 반환합니다. 이 목록은 생성 화 가능합니다.
둘 중 하나를 사용하는 것의 정확한 차이점은 무엇입니까?
Collections.EMPTY_LIST
이전 스타일을 반환합니다.List
Collections.emptyList()
유형 추론을 사용하는 사용List<T>
Collections.emptyList ()는 Java 1.5에 추가 가능성이 가장 선호 됩니다. 이렇게하면 코드 내에서 캐스팅 할 필요가 없습니다.
Collections.emptyList()
본질적 으로 당신을 위해 캐스트 를 수행합니다 .
@SuppressWarnings("unchecked")
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}
소스로 가자 :
public static final List EMPTY_LIST = new EmptyList<>();
과
@SuppressWarnings("unchecked")
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}
동등한 절대적으로 동등한 대상입니다.
public static final List EMPTY_LIST = new EmptyList<>();
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}
유일한 것은 emptyList()
일반 을 반환 List<T>
하므로 경고없이 또는 일반 컬렉션 에이 목록을 할당 할 수 있습니다.
즉, EMPTY_LIST는 형식이 안전하지 않습니다.
List list = Collections.EMPTY_LIST;
Set set = Collections.EMPTY_SET;
Map map = Collections.EMPTY_MAP;
비교하자면 :
List<String> s = Collections.emptyList();
Set<Long> l = Collections.emptySet();
Map<Date, String> d = Collections.emptyMap();
반응형
'IT' 카테고리의 다른 글
Vagrant의 신용 링크 및 동기화 된 폴더 (0) | 2020.09.01 |
---|---|
.net 4.5에서 HttpClient를 사용하여 쿠키를 응답에서 벗어나려는 시도 (0) | 2020.09.01 |
((a + (b & 255)) & 255)는 ((a + b) & 255)와 같은가요? (0) | 2020.09.01 |
CFLAGS 대 CPPFLAGS (0) | 2020.09.01 |
jquery, 클래스별로 다음 요소 찾기 (0) | 2020.09.01 |