如何在不事先知道数组大小的情况下获取数组的全局引用?

时间:2019-03-04 17:13:42

标签: java arrays global-variables global

我陷入了一个需要全局引用数组的情况,但是只有在用户输入数组后我才知道它的大小。

我试图制作另一个类并做一些事情,但是问题仍然存在,因为我事先没有它的大小,所以只能声明局部数组。

该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用提供者来保存数组,并通过静态的getter方法授予对它的访问权限。像这样:

public class MyGLobalArrayProvider {
    private static String[] myGlobalArray;

    public static String[] getGlobalArray() {
        return myGlobalArray;
    }


    public static void doSomeUpdateMagic() {…}
}  

通常,我更喜欢将依赖注入与Guice或Spring结合使用的解决方案。在这种情况下,您将注入容纳该数组的单例服务。这将使您的代码脱钩,这不仅对测试有用,而且可以带来更好的可维护性。

如果DI方法不合适,则另一种经典方法是Singleton模式。