3

コレクションでは、次のことがわかりました。

@SuppressWarnings("unchecked")
public static final List EMPTY_LIST = new EmptyList<>();

私は本当に使用する理由を見つけることができません:

new EmptyList<>()

代わりに:

new EmptyList()

Java < 1.7 の場合と同様です。

このアプローチに違いはありますか?

4

1 に答える 1

2

<> 演算子だけに関心がある場合は、What is the point of the diamond operator in Java 7?を参照してください。.

EMPTY_LIST について: どちらか:

@SuppressWarnings("rawtypes")
List list = Collections.EMPTY_LIST;

または次のようなもの:

List<String> s = Collections.emptyList();

<> 演算子を使用する理由は、生の型のコンパイル時のチェックを維持するためです。上記のリンクはそれをよく説明しています。

于 2013-12-05T15:24:38.110 に答える