面试官:请阐述String、StringBuffer与StringBuilder三者间的具体差异点?

2026-06-10 07:210阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计791个文字,预计阅读时间需要4分钟。

面试官:请阐述String、StringBuffer与StringBuilder三者间的具体差异点?

介绍+先来看String类的实现+public final class String implements java.io.Serializable, Comparable, CharSequence { /* The value is used for character storage. */ private final char value[]; }+先说下final关键字+


介绍

先来看String类的实现

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
/** The value is used for character storage. */
private final char value[];
}

先来说一下final关键字的作用

  • final修饰类时,表明这个类不能被继承
  • final修饰方法,表明方法不能被重写
  • final修饰变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能改变;如果是对象类型的变量,只能保证它的引用不变,但对象的内容是可以改变的
  • 可以看到String类和保存变量的value数组都被final修饰,表明String类是不可变的。

    阅读全文

    本文共计791个文字,预计阅读时间需要4分钟。

    面试官:请阐述String、StringBuffer与StringBuilder三者间的具体差异点?

    介绍+先来看String类的实现+public final class String implements java.io.Serializable, Comparable, CharSequence { /* The value is used for character storage. */ private final char value[]; }+先说下final关键字+


    介绍

    先来看String类的实现

    public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
    }

    先来说一下final关键字的作用

  • final修饰类时,表明这个类不能被继承
  • final修饰方法,表明方法不能被重写
  • final修饰变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能改变;如果是对象类型的变量,只能保证它的引用不变,但对象的内容是可以改变的
  • 可以看到String类和保存变量的value数组都被final修饰,表明String类是不可变的。

    阅读全文