Arrays.asList
型付きリストを返します。しかし、Listはインターフェースなので、どのようにインスタンス化できますか?タイプされたリストをインスタンス化しようとすると、不可能であるというエラーが表示されます。
編集
何が起こっているのか気にしないでください。しばらくの間、ドキュメントに混乱しました。
とArrays.ArrayList
混同してはならないjava.util.ArrayList
です。これは配列のラッパーです。つまり、変更を行ったり、元の配列を変更したり、エントリを追加または削除したりすることはできません。多くの場合、次のように ArrayList と組み合わせて使用されます
List<String> words = new ArrayList<>(Arrays.asList("Hello", "There", "World"));
クラス配列から
public static transient List asList(Object aobj[])
{
return new ArrayList(aobj);
}
したがって、Arrays.asList(...) を実行すると、List を実装する ArrayList が取得されます。これ自体を除いて、誰もそれを知りません。
1例
String[] 配列 = 新しい String[] {"1","2","3"}; リスト list = Arrays.asList(array);