我有 Pipe 类:
public class Pipe {
private int length;
public Pipe(int length) {
this.length = length;
}
// plus getter and setter
}
然后是 PipeGenerator 类:
public class PipeGenerator {
private List<Pipe> pipeList;
public PipeGenerator(int numberOfPipes) {
List<Integer> availableTypes = generateAvailableTypes();
List<Pipe> pipes = createRandomPipesList(numberOfPipes, availableTypes);
this.pipeList.set(pipes);
// plus getter and setter
}
}
我的代码在 Intellij 中用红色突出显示,我不明白为什么。这是一张图片:
createRandomPipesList 方法:
private List<Pipe> createRandomPipesList(int numberOfPipes, List<Integer> availableTypes) {
List<Pipe> pipes = new ArrayList<Pipe>();
addPipesToList(numberOfPipes, availableTypes, pipes);
return pipes;
}
所以基本上我想生成一个列表并将其设置为 PipeGenerator 类中的 pipelineList 私有(private)属性。有什么方法可以实现呢?
最佳答案
List 类的 set 方法并没有按照您的想法进行操作。引用APIhttp://docs.oracle.com/javase/8/docs/api/java/util/List.html#set-int-E- 。
只需分配新列表即可。
pipeList = pipes;
关于java - 如何在类中设置列表<Class> (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40597192/