Javaでは、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;
}