gpt4 book ai didi

java - java.util.Arrays$ArrayList 是什么意思?

转载 作者:行者123 更新时间:2023-12-02 07:34:42 24 4
gpt4 key购买 nike

我不断收到以下错误消息

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() 获取“输入”,我的方法也返回一个数组列表。谁能向我解释一下 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 是实现 List 接口(interface)的 Arrays 类内的嵌套类。此实现具有固定长度并由数组支持。

方法Arrays.asList返回此类的一个实例。

关于java - java.util.Arrays$ArrayList 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com