java - 我应该更喜欢类内的最终静态变量还是静态方法内的最终变量

标签 java static final

假设final变量仅在一个静态方法中使用,我应该将其声明为类中的final静态成员,还是静态方法中的final变量。

如果在方法内部声明,每次调用函数时都会初始化它。 (函数被调用很多次)

编辑:变量是使用Arrays.asList(...)函数初始化的List

最佳答案

If it is declared inside method, will it be initialized each time the function is called. (function is invoked a lot of times)

是的。如果您在方法内声明变量,则每次调用该方法时都会调用 Arrays.asList(...)。

如果您的变量进行了昂贵的初始化和/或多次调用该方法,您应该将其声明为 private static final 字段。

关于java - 我应该更喜欢类内的最终静态变量还是静态方法内的最终变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39792312/

相关文章:

java - onErrorResume 没有按预期工作

java-- 为什么要复制类免疫性的参数?

c# - 所有事件的 ThreadLocal<T> 和 [ThreadStatic] 引用的列表

java - 关于从 servlet 提供静态文件的问题

c++ - 有没有办法在不破坏封装的情况下为模板类(所有类型)使用一个静态变量

java :Why the Local variable should be declared final

java - 声明后使静态属性不可变

java - 在构造函数中的 try-catch block 中分配最终字段

Java 8 DateTimeFormatter 可选部分不带秒

java - 无法打开使用一个批处理打开且使用另一个批处理打开的 JVM