gpt4 book ai didi

java - 静态访问 HashMap/Array?

转载 作者:行者123 更新时间:2023-12-01 16:41:38 25 4
gpt4 key购买 nike

下面是 Web 应用程序中使用的静态方法的示例。正如您所看到的,每次调用此方法时,String[] allergensArr 都会被实例化。它是线程安全的,因为它是静态方法,但这是一个昂贵的调用。

还有哪些其他方法可以使用 allergensArr[] 以便每次调用该方法时都不会实例化它。

我正在考虑以下选项。

  • 有一个初始化静态最终 String[] 的静态构造函数
  • 使用单例(尽管这会阻止很多人)

这将是一个常量数组,在实例化服务器的生命周期中不会更改。

public class UserHealthConcernsManager {    public static String[] getAllergensFlag () {        String[] allergensArr = new String[12];        allergensArr[0] = "x";        allergensArr[1] = "y";        allergensArr[2] = "w";                 _SNIP_                return allergensArr;     }}

最佳答案

您是否考虑过使用列表来代替引用数组?

代码可以简化为:

public static final List<String> allergensFlag =
Collections.unmodifiableList(Arrays.asList(
"x",
"y",
"w",
...
));

如果您真的非常想要老式数组,那么克隆的成本很小

private static final String[] allergensFlag = {
"x",
"y",
"w",
...
};

public static String[] getAllergensFlag () {
return allergensFlag.clone();
}

关于java - 静态访问 HashMap/Array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1608816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com