String是位于java.lang包中提供的一个类,用于定义并且操作字符串类型的数据。String字符串属于对象,是引用类型数据。
1、String介绍
Java中String底层是通过字符数组实现的。为了避免别人修改String类,Java将String类定义为了final修饰的,这样String类就不能被继承,从而就不能被修改。
2、String对象不可改变
在Java里面,String定义的对象是不可改变的,但是String引用是可以改变的。
所谓的String对象不可改变,指的是:当定义一个String对象String str="ABC"时,这时候该对象的值就不能改变了,如果在定义str="ABCD",底层实际上是会在创建一个字符数组,将"ABCD"存放到字符数组中,然后将str的引用指向该字符数组。

3、String常量池
当以字面量形式创建字符串时,JVM首先会检查常量池中是否存在相同的字符串对象引用,存在则使用该引用,不存在则创建一个新的字符串对象。
那么哪些字符串会存放在常量池当中呢?
能够存放在常量池中的都是一些静态字符串,动态字符串是不会存放在常量池中的。
静态字符串如下:
<1>字面量
字面量就是直接写出来的字符串,会存放在常量池当中。


<2>常量
常量也是存放在常量池当中的。


<3.1>字面量和字面量运算结果:


<3.2>常量和常量的运算结果:

java基础 string

<3.3>字面量和常量运算结果:


动态字符串如下:
<1>通过new关键字创建的字符串


<2>字符串变量运算的结果


上面就是本人对Java中的String字符串的理解,如有错误之处,请纠正,下一篇文章在介绍一下字符串操作的方法。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/2704.html