我陷入困境,我需要一个数组的全局引用,但只有在用户输入之后才能知道它的大小。
我试图创建另一个类并做一些事情,但问题仍然是相同的,我只能声明本地数组,因为我事先没有它的大小。
可以做些什么?
您可以使用包含数组的Provider,并通过静态getter方法为其提供Access。像这样:
public class MyGLobalArrayProvider {
private static String[] myGlobalArray;
public static String[] getGlobalArray() {
return myGlobalArray;
}
public static void doSomeUpdateMagic() {…}
}
一般来说,我会优先使用Guice或Spring的依赖注入解决方案。在这种情况下,您将注入一个包含该数组的单例服务。这将解耦您的代码,这不仅有助于测试,还可以提高维护性。
另一种经典的方法是Singleton-Pattern,如果DI-Approach不合适的话。