java - 如何在类中设置列表<Class> (Java)

标签 java class arraylist

我有 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 中用红色突出显示,我不明白为什么。这是一张图片:

enter image description here

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/

相关文章:

java - 从 ArrayList<E> 项创建新对象

java - 用java将视频上传到youtube

java - 用抽象类的子类的对象填充通用列表

c++ - 从类中运行线程

java - 为什么我的 InOrder 排序的 ArrayList 不能递归地构建 LinkedBinaryTree?

java - 在单独的行中显示每个列表元素(控制台)

java - 编译器对泛型类型的自动绑定(bind)(类型推断)

java - 将 id 设置为 JavaFX Canvas 上的对象

java - 它显示客户已定义的错误。请让我知道发生了什么错误以及如何纠正它

javascript - 对象与类与函数