gpt4 book ai didi

java - jsf 表达式语言 (el) 类函数生命范围

转载 作者:行者123 更新时间:2023-12-01 15:24:39 25 4
gpt4 key购买 nike

el语言中使用的静态类的范围是什么?

我假设应用范围?

我在 Debug模式下对其进行了测试,并且延迟加载属性仅在多个窗口、浏览器中初始化一次。

private static Object[] objects = null;

public static Object[] getObjects()
{
if(ElClass.objects == null)
//init objects
return ElClass.objects;
}

最佳答案

没有具体的实例。 EL 函数类甚至还没有构建。 EL 函数旨在完全无状态。静态变量根据定义是 JVM 范围的(或您所说的应用程序范围的)。在普通的 Java 代码中,您也只需执行 ELClass.getObjects() 而不是 new ELClass().getObjects()

对于您的特定示例,我建议仅在静态初始化程序 block 中进行初始化。这种延迟加载是不必要的。

private static final Object[] objects;

static {
// Init objects.
}

public static Object[] getObjects() {
return objects;
}

我还建议添加一个私有(private)构造函数,以便防止构造函数类。

private ELClass() {
// Prevent construction.
}

关于java - jsf 表达式语言 (el) 类函数生命范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343144/

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