Java教程

在java中为什么说String是不可变的

本文主要是介绍在java中为什么说String是不可变的,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

如果要了解String的不可变性,可以先在jdk1.8中找到String类的部分源码

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

    /** Cache the hash code for the string */
    private int hash; // Default to 0

	......
}

①String类是由final修饰的,这代表着String类不可被继承,即无法被继承的子类修改
②String类的底层数据结构为char数组,并且该数组被final修饰,也就代表着value[]不可被修改指向其他数组,即String不能被改变
③因为Java研发者认为共享带来的好处大于可变,所以在String类中没有发现任何一个修改value数组内容的方法

这篇关于在java中为什么说String是不可变的的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!