从ArrayList转换为Collection

Pri*_*nce 7 java collections

我在这次转换中遇到了困难.我不知道是否存在语法错误或者甚至不可能.

我需要转换 -

private static final List<Contact> CONTACTS = Arrays.asList(
        new Contact("text1", "name1"),
        new Contact("text2", "name2"),
        new Contact("text3", "name3"));
Run Code Online (Sandbox Code Playgroud)

至 -

Collection c = new ArrayList(Arrays.asList(--?--))
Run Code Online (Sandbox Code Playgroud)

- ? - - >(我不明白这里到底是什么)

通过这样做,我打算避免UnsupportedOperationException.任何帮助表示感谢,谢谢!

嘿,谢谢大家,我明白了!这有效 -
解决方案:

List<? extends Contact> col = new ArrayList<Contact>(CONTACTS);
Run Code Online (Sandbox Code Playgroud)

Kev*_*vin 11

public interface List
extends Collection
Run Code Online (Sandbox Code Playgroud)

你不需要做任何事情.或者是否需要一些ArrayList不支持的特定操作 ?


Ósc*_*pez 5

您无需执行任何操作来执行该转换,这有效:

List<Contact> CONTACTS = new ArrayList<String>();
// fill CONTACTS
Collection<Contact> c = CONTACTS;
Run Code Online (Sandbox Code Playgroud)

Collection是超级接口List,如果一个对象实现List它也将实现Collection.


Pri*_*nce 1

我正在更新它作为我一直在寻找的答案。谢谢大家的回复!

List<? extends Contact> col = new ArrayList<Contact>(CONTACTS);
Run Code Online (Sandbox Code Playgroud)