【问题标题】:What is a compile time constant expression in Java?Java中的编译时常量表达式是什么?
【发布时间】:2015-11-16 13:40:55
【问题描述】:

我已经阅读了 Java 中的 final 变量应该被实例化以编译时间常量表达式。我不明白什么是编译时常量表达式。

class A {
    int i;
    int j  = i * 5;
}

`i * 5 是编译时常量表达式吗?

【问题讨论】:

标签: java constants compile-time-constant


【解决方案1】:

“编译时常量表达式”是可以在编译期间计算的值。比如int MINUTES_IN_DAY = 24 * 60;

至于您的阅读,最终变量应始终以该形式实例化:这是不正确的概括。在许多情况下,您需要 final 在运行时进行评估,例如在设置 Runnables 时。

请注意,静态最终变量也不需要是编译时常量:您可以使用静态初始化器对其进行初始化。

【讨论】:

  • 静态最终变量是否必须是编译时间常数?
猜你喜欢
  • 1970-01-01
  • 2019-03-14
  • 2013-07-04
  • 1970-01-01
  • 2013-10-16
  • 1970-01-01
  • 2017-02-25
  • 1970-01-01
相关资源
最近更新 更多