测试岗位面试题更新 2026-08-05

String底层的char数组如何做到值不可变?

七牛云测试专业服务风险判断技术原理Java

考察说明

考察String不可变性的底层实现机制及设计意图

回答思路

  1. 说明String底层用final char[]存储字符数据
  2. 解释final修饰符只能保证引用不可变,不能保证数组内容不可变
  3. 说明String类本身被final修饰,且未提供任何修改数组内容的方法
  4. 结合防御性拷贝说明字符数组不对外暴露
  5. 提及长度固定与ASCII/Unicode的编码背景