http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.28说
引用常量变量(第4.12.4节)的简单名称(第6.5.6.1节)是常量表达式。
http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.28还说:
常量表达式是表示原始类型或String的值的表达式,该值不会突然完成,并且仅使用以下内容组成:
- 基本类型的文字和字符串类型的文字(§3.10.1,§3.10.2,§3.10.3,§3.10.4,§3.10.5)
- […]
- 加法运算符+和-(§15.18)
- […]
- 引用常量变量(第4.12.4节)的简单名称(第6.6.5.6.1节)。
示例15.28-1 常数表达式
[…]
“整数” + Long.MAX_VALUE +“很大。
由于这两个变量是常量表达式,因此编译器进行串联:
String str = str1 + str2;
编译方式与
String str = "str" + "ing";
编译方式与
String str = "string";



