我陷入了一个需要全局引用数组的情况,但是只有在用户输入数组后我才知道它的大小。
我试图制作另一个类并做一些事情,但是问题仍然存在,因为我事先没有它的大小,所以只能声明局部数组。
该怎么办?
答案 0 :(得分:0)
您可以使用提供者来保存数组,并通过静态的getter方法授予对它的访问权限。像这样:
public class MyGLobalArrayProvider {
private static String[] myGlobalArray;
public static String[] getGlobalArray() {
return myGlobalArray;
}
public static void doSomeUpdateMagic() {…}
}
通常,我更喜欢将依赖注入与Guice或Spring结合使用的解决方案。在这种情况下,您将注入容纳该数组的单例服务。这将使您的代码脱钩,这不仅对测试有用,而且可以带来更好的可维护性。
如果DI方法不合适,则另一种经典方法是Singleton模式。