Java中'String'运算符的实现是什么?我可以看到这个实现?

Sur*_*dra 0 java

任何人都可以告诉我Java中String的'+'运算符的确切实现.我知道这是concat运算符连接两个字符串,即使那时因为String是一个类,那么这个运算符的实现在哪里以及它是如何工作的?

Jon*_*eet 6

该实现是特定于编译器的,虽然它通常最终创建一个StringBufferStringBuilder在幕后,并附加到它.请注意,它对效率有特殊处理,因此x + y + z可以编译为类似的东西

new StringBuilder().append(x).append(y).append(z).toString();
Run Code Online (Sandbox Code Playgroud)

...还要执行常量字符串表达式的编译时连接.

你可以看到操作说明JLS节15.18.1,但并没有指定任何特定的实现.

要查看特定编译器的功能,只需编译一些您感兴趣的代码,然后使用它javap -c来查看它生成的字节码.