【问题标题】:Setting up fields and constructors using ArrayList in Java?在 Java 中使用 ArrayList 设置字段和构造函数?
【发布时间】:2013-10-29 08:22:15
【问题描述】:

我想我几乎做对了,我查看了一些文档,但没有什么能帮到我... 这是我目前所拥有的:

    // data field
    private ArrayList students;

    // constructor
    public students(What goes here?) {
        this.students = new ArrayList<String>();
    }

我该如何完成?

【问题讨论】:

  • 通读Code Conventions for the Java Programming Language 不会有什么坏处,但真正的问题是,您期望发生什么?你希望它如何工作?因为“这里有什么?”的答案是“你想要什么”....
  • “我该如何完成这个?” 这个是什么?
  • 我正在设置一个数组列表,我可以将学生姓名添加到...

标签: java class arraylist constructor field


【解决方案1】:

如果您希望您的构造函数接受学生列表并复制对它的引用,那么您的代码可能看起来像

// data field
private ArrayList students;

// constructor
public students(ArrayList<String> students) {
    this.students = students;
}

但如果您不想在构造函数中使用列表,则不要将任何内容作为参数,并且在构造函数中创建您自己的空学生列表

// constructor
public students() {
    this.students = new ArrayList<String>();
}

【讨论】:

  • @user2849489 确保你的类被命名为students,或者更好的是Students,在这种情况下将你的构造函数更改为public Students(...
【解决方案2】:

如果这就是你的全部代码,你可能不会放任何东西......

【讨论】:

    【解决方案3】:

    让你的类名与你的构造函数名完全相同。我假设你的班级名称是学生。 (大写S

    您可以通过多种方式编写构造函数:

    public Students() {
        this.students = new ArrayList<>();
    }
    

    如果你传递一个数组列表引用,最好考虑防御性地复制数组的单个对象,而不是直接将引用分配给你的类变量。你阅读更多here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多