java之常量折叠
为什么会写着篇博客,因为昨天看了关于final关键字的解析。但是有个问题始终没有得到解决,于是请教了我qq上之前添加的知乎大神。他给我回复的第一条消息:常量折叠。身为渣渣猿的我立马查询了这个概念。这是第一次知道这个概念。知乎大神还给我讲了好多。让我终于明白了这个常量折叠的概念 实例解析 昨天,让我迷惑的代码是下面这段代码 public static void main(String[] args) { String a = "hello2"; final String b = "hello"; String d = "hello"; String c = b + 2; String e = d + 2; System.out.println((a == c)); System.out.println((a == e)); } 这段的执行结果是 true false 我就是不明白为什么第一个返回true呢? 留着这个疑问,我们先了解下常量折叠的概念。来更好的理解上面的代码 常量折叠 常量折叠的概念 常量折叠是一种编译器优化技术。 常量折叠主要指的是编译期常量加减乘除的运算过程会被折叠 对...