gpt4 book ai didi

java - 方法中的代码是否总是被执行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:27 25 4
gpt4 key购买 nike

我已经创建了父类(super class)抽象方法的实现。方法中的代码是否始终得到执行,或者是否存在某种知道代码永远不会更改的缓存?

我想知道我的代码是否存在性能问题。将 map 创建为成员变量然后在方法中返回它是否更好?

@Override
protected Map<String, Function<Information, String>> getDefinitionMap() {
final Map<String, Function<Information, String>> map = new LinkedHashMap<>();
map.put("Name", t -> t.getName());
map.put("ID", t -> t.getId());
return map;
}

最佳答案

每次调用 getDefinitionMap() 方法时,都会创建一个新的 LinkedHashMap 实例。没有“隐式缓存”。

你可以避免这种情况,如果你创建一次 map ,将它存储在一个成员变量中并返回它。您可能希望使其不可修改,以便调用者无法更改它。 (参见 java.util.Collections.unmodifiableMap)

关于java - 方法中的代码是否总是被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47668438/

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