我在这次转换中遇到了困难。我不知道是否存在语法错误或者甚至不可能。
我需要转换 -
private static final List<Contact> CONTACTS = Arrays.asList(
new Contact("text1", "name1"),
new Contact("text2", "name2"),
new Contact("text3", "name3"));
要 -
Collection c = new ArrayList(Arrays.asList(--?--))
- ? - - &gt; (我不明白这里会发生什么)
通过这样做,我打算避免UnsupportedOperationException。 感谢任何帮助,谢谢!
嘿,谢谢大家,我明白了! 这工作 -List<? extends Contact> col = new ArrayList<Contact>(CONTACTS);
答案 0 :(得分:10)
public interface List
extends Collection
You don't need to do anything。或者您需要ArrayList
不支持的某些特定操作吗?
答案 1 :(得分:5)
您无需执行任何操作来执行该转换,这有效:
List<Contact> CONTACTS = new ArrayList<String>();
// fill CONTACTS
Collection<Contact> c = CONTACTS;
Collection
是List
的超级接口,如果对象实现List
,它还将实现Collection
。
答案 2 :(得分:1)
这样做有效:
private static final Collection<String> c = new ArrayList<String>(
Arrays.asList("a", "b", "c"));
因此我建议如下:
private static final Collection<Contact> = new ArrayList<Contact>(
Arrays.asList(new Contact("text1", "name1")
new Contact("text2", "name2")));
答案 3 :(得分:1)
我正在更新它作为我正在寻找的答案。谢谢大家的回复!
List<? extends Contact> col = new ArrayList<Contact>(CONTACTS);