跳到主内容
← 返回题库
八股概念3/5 中等Java 后端 · 一面 ★ 0 · 浏览 12

String 拼接与常量池:编译期与运行期差异

给出代码:String a = “1” + “2”; String b = “12”; String c = new String(“1”) + new String(“2”); String d = c.intern(); 判断 a==b、c==b、d==b 的结果并解释原因;再说明 JDK8 下循环内字符串拼接的性能问题及替代方案。

参考答案

先自己想 30 秒再看答案,比直接读一遍有用得多。

追问链

  1. 1. 如果拼接中含 final 修饰的局部变量,结果会变吗;JDK9 之后字符串拼接的实现有哪些变化