java - Java 中 String 的 ' +' 运算符的实现是什么?在哪里可以看到这个实现?

标签 java

谁能告诉我 String 的 '+' 运算符在 Java 中的具体实现吗? 据我所知,这是连接两个字符串的运算符,即使如此,因为 String 是一个类,那么这个运算符的实现在哪里以及它是如何工作的?

最佳答案

该实现是特定于编译器的,尽管它通常最终只是在幕后创建一个 StringBufferStringBuilder 并附加到其中。请注意,它对效率进行了特殊处理,因此 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/

相关文章:

java - JFreeChart:如何获取 XYItemEntity 的坐标?

java - Hibernate 不会将 float 正确写入 MS SQL 2005 数据库

java - 如何在 foreach 迭代期间更改 Set<String> 中的字符串?

java - 用 jackson 限制字符串的写入大小

java - 包含 2 个有符号半字节到 2 个有符号整数的字节

java - 使用 JSOUP 进行作者解析

java - Spring Boot JPA Mysql AWS 在 RequestMapping 上找不到

java - 如何获取由原始字符串保留顺序的所有唯一字符组成的字符串?

Java 大整数

java - 如何找到为 Spring boot 服务记录的请求的目标 URL