【发布时间】:2013-01-28 19:16:30
【问题描述】:
我有一个必须返回数组集合的方法。 (这是 JUnit 中的参数化测试。)我实际上只需要返回三个字符串,但它们需要位于数组集合中。这是我的方法:
public static Collection<Object[]> browserList() {
String[] firefox = { "firefox" };
String[] chrome = { "chrome" };
String[] ie = { "ie" };
ArrayList<String[]> list = new ArrayList<String[]>(3);
list.add(firefox);
list.add(chrome);
list.add(ie);
return list;
}
这给出了一个错误:Type mismatch: cannot convert from ArrayList<String[]> to Collection<Object[]>。
所以真的有两个问题:(a)这有什么问题,考虑到ArrayList 是Collection 的实现,String 是从Object 派生的; (b) 我该如何解决?
感谢您的帮助。
【问题讨论】:
-
Collections.unmodifiableList可以将ArrayList<String[]>视为ArrayList<Object[]>。