获得arrayList的持有者

时间:2017-02-27 00:23:13

标签: java arraylist

我有一个Course类,它有一个添加Items的方法,可以是注释,赋值,URL或只是一个通用项。所有项目都保存在ArrayList中,该列表创建列表的课程与之保持一致。我的问题是来自这个ArrayList中的一个项目,如何在创建项目时将我附加到课程对象的printLogger附加到项目上?

这来自我的课程:

public class Course {
private ArrayList<Item> items;
public PrintLogger p1 = null;

public Course(String code, String name) {
 this.code = code;
 this.name = name;
 items = new ArrayList<>();
}

void add(Item item) {
 items.add(item);
 if (hasPrintLogger() == true) {
  log(PrintLogger.INFORMATIONAL, "Adding " + item.toString());
 }
}

我试图让代码中的赋值构造函数运行一种方法来附加已经在课程中的同一个printLogger。

1 个答案:

答案 0 :(得分:0)

您可以在Course的每个项目中存储对正确的List对象的引用。

您还可以将ArrayList类包装在您自己的类中,并添加一个指向它所属的Course的字段,如果您需要它是ListCourse之间的关系List代替CourseCourse中的项目。

您还可以搜索系统中的每个List对象,并检查它是否包含有问题的Route::group([ 'domain' => 'admin.{domain}.{tld}', 'namespace' => 'Admin\Pages' ], function () { require base_path('routes/web/admin/pages.php'); }); 。但是,这种解决方案会严重缩放。