2

java中是否有任何称为“恒定折叠”的概念?如果是,那是什么?

4

2 回答 2

10

就在这里。

这篇 JavaWorld 文章你可以自己用谷歌搜索!):

static final int length = 25;
static final int width = 10;
int res = length * width;

执行时间不用于乘以这些值;相反,乘法是在编译时完成的。修改以下变量赋值的代码以生成表示宽度和长度乘积的字节码:

int res  = 250;
于 2010-01-06T11:31:39.227 回答
7

常量折叠是在编译时简化常量表达式的过程。常量表达式中的术语通常是简单的文字,例如整数 2,但也可以是其值从不修改的变量,或显式标记为常量的变量

是的,它存在于 Java 上:编译器优化

于 2010-01-06T11:29:46.250 回答