为什么String要定义成不可变的?

在 Java 中,String 类被设计为 final 类型,主要基于以下关键原因,涵盖安全性、性能优化和设计哲学:


1. 不可变性(Immutability)的核心保障

  • 禁止继承final 修饰的类无法被继承,防止子类通过继承破坏 String 的不可变性(如重写方法修改内部字符数组 value)。
  • 实例不可变String 内部存储字符的 char[] value 也是 final 的,确保一旦创建,引用和内容均不可变。

示例

public final class String

你可能感兴趣的:(八股文汇总,java,面试,java)