如何在 super(...) 中创建一个数组列表
how to create an arraylist within super(...)
A parent class:
public abstract class Gate implements Logic{
private List<Wire> inputs;
private Wire output;
private String name;
public Gate(String name, List<Wire> ins, Wire out){
}
A child class:
public class GateNot extends Gate{
public GateNot(Wire input, Wire output){
super("Not",new ArrayList(input) ,output);//this is apparently incorrect.
}
GateNot 的构造函数中的参数与 parent class 中的参数不同。我想创建一个数组列表并将输入传递给这个数组列表,这样 super(...) 就可以工作了。我如何在 super(..) 中创建这个数组列表?如果 arraylist 在这里不起作用,我可以用这个 super 做什么?
嗯,你只有一个输入。所以..
public class GateNot extends Gate {
public GateNot(Wire input, Wire output) {
super("Not", new ArrayList<Wire>(Arrays.asList(input)), output);
}
}
编辑: 我意识到你有一个 List<> 而不是 ArrayList<> 所以我们可以将其简化为:
public class GateNot extends Gate {
public GateNot(Wire input, Wire output) {
super("Not", Arrays.asList(input), output);
}
}
A parent class:
public abstract class Gate implements Logic{
private List<Wire> inputs;
private Wire output;
private String name;
public Gate(String name, List<Wire> ins, Wire out){
}
A child class:
public class GateNot extends Gate{
public GateNot(Wire input, Wire output){
super("Not",new ArrayList(input) ,output);//this is apparently incorrect.
}
GateNot 的构造函数中的参数与 parent class 中的参数不同。我想创建一个数组列表并将输入传递给这个数组列表,这样 super(...) 就可以工作了。我如何在 super(..) 中创建这个数组列表?如果 arraylist 在这里不起作用,我可以用这个 super 做什么?
嗯,你只有一个输入。所以..
public class GateNot extends Gate {
public GateNot(Wire input, Wire output) {
super("Not", new ArrayList<Wire>(Arrays.asList(input)), output);
}
}
编辑: 我意识到你有一个 List<> 而不是 ArrayList<> 所以我们可以将其简化为:
public class GateNot extends Gate {
public GateNot(Wire input, Wire output) {
super("Not", Arrays.asList(input), output);
}
}