[英]what does java.util.Arrays$ArrayList mean?
我一直收到以下錯誤消息
File: C:\Users\jiangbuyun\Desktop\p5\p5pack\P5Tests.java [line: 1084]
Failure: java.lang.AssertionError: expected: java.util.Arrays$ArrayList<[A:X, B:X, C:X]> but was: java.util.ArrayList<[A:X, B:X, C:X]>
我有一個叫做電路的課。 這是一些領域。
private List<Contact> inputs, outputs;
private List<Wire> innerWires;
這就是我獲取輸入的方法
public void parseContactsLine(String line){
Scanner sc = new Scanner(line);
int i=0; //token's position
while (! sc.hasNext("->")){
Wire w = new Wire (sc.next());
innerWires.add(w);
Contact c = new Contact(innerWires.get(i),innerWires.get(i),true);
inputs.add(c);
i++;
}
我的測試用例:
public void circuit_parseContactsLine1(){
List<Contact> empty = Arrays.asList(new Contact[]{});
assertEquals(empty, vanillaCircuit.getInputs());
assertEquals(empty, vanillaCircuit.getOutputs());
List<Contact> ins = Arrays.asList(new Contact[]{
new Contact(new Wire("A"), new Wire("A"), true),
new Contact(new Wire("B"), new Wire("B"), true),
new Contact(new Wire("C"), new Wire("C"), true)}
);
List<Contact> outs = Arrays.asList(new Contact[]{
new Contact(new Wire("D"), new Wire("D"), false)}
);
vanillaCircuit.parseContactsLine("A B C -> D");
assertEquals(ins , vanillaCircuit.getInputs ());
assertEquals(outs, vanillaCircuit.getOutputs());
}
似乎這個錯誤來自ArrayList和List之間的比較。 測試用例使用Array.asList()獲取“輸入”,我的方法也返回一個arraylist。 誰能解釋一下java.util.Arrays $ ArrayList是什么意思?
我在嘗試input.add(Arrays.asList(c))時的錯誤;
File: C:\Users\jiangbuyun\Desktop\p5\p5pack\Circuit.java [line: 48]
Error: no suitable method found for add(java.util.List<Contact>)
method java.util.Collection.add(Contact) is not applicable
(argument mismatch; no instance(s) of type variable(s) T exist so that java.util.List<T> conforms to Contact)
method java.util.List.add(Contact) is not applicable
(argument mismatch; no instance(s) of type variable(s) T exist so that java.util.List<T> conforms to Contact)
java.util.Arrays$ArrayList
是Arrays
類中實現List
接口的嵌套類。 此實現具有固定長度並由數組支持。
方法Arrays.asList
返回Arrays.asList
的實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.