0

在我的程序中,我使用了一个 ArrayList of ArrayList of booleans。我需要将这些价值观从一个班级带到另一个班级,而我一直在通过简单地制作它来做到这一点static

但我听说这可能味道不好。我在想,最好的办法是制作一个以该集合为中心的对象(顶级对象),可能还有一些方法来配合这个。

所以我的问题:

  1. 这是否更好?
  2. 如何在整个应用程序中保留一个顶级对象的实例,以便我的值可以传输?我在想一个私有构造函数和静态方法。还是我应该只去公共领域?批准的方法是什么?
4

2 回答 2

0

-如果您不想使用static ArrayList,那么您可以创建一个类Singleton并将该ArrayList放入该类中。

例如:

public class Test{

  private ArrayList<String> arr = new ArrayList<String>();

  private static Test uniqueInstance = new Test();

  private Test{}      // Make constructor Private

  public static Test getInstance(){

    return uniqueInstance;


   }

}
于 2012-12-05T13:06:15.947 回答
0

我需要将这些价值观从一个班级带到另一个班级

一些构造函数注入怎么样?

public class A (ArrayList<ArrayList<Boolean>> list)

接线可以委托给IOC(控制反转)框架,例如 Spring,或者您可以使用DIY-DI手动完成

我会远离,Singletons因为

于 2012-12-05T13:11:11.937 回答