谁能告诉我 String 的 '+' 运算符在 Java 中的具体实现吗? 据我所知,这是连接两个字符串的运算符,即使如此,因为 String 是一个类,那么这个运算符的实现在哪里以及它是如何工作的?
最佳答案
该实现是特定于编译器的,尽管它通常最终只是在幕后创建一个 StringBuffer
或 StringBuilder
并附加到其中。请注意,它对效率进行了特殊处理,因此 x + y + z
可以编译为类似
new StringBuilder().append(x).append(y).append(z).toString();
...还可以执行常量字符串表达式的编译时串联。
您可以在 JLS section 15.18.1 中看到描述的运算符,但这并不强制要求任何特定的实现。
要查看您的特定编译器的功能,只需编译一些您感兴趣的代码,然后使用 javap -c
查看它生成的字节码。
关于java - Java 中 String 的 ' +' 运算符的实现是什么?在哪里可以看到这个实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291389/