Java中的字符串

2018-01-17  本文已影响14人  现实梦想_96b0

一、Java中字符串的不变性

String对象创建后则不能修改,是不可变得,所谓的修改其实是创建了新的对象,所指向的内存空间不同。如图所示:

运行结果:

总结:

1.通过String  s1="爱慕课",声明了一个字符串对象,s1存放了到字符串的引用,在内存中的存放引用关系如图所示:

然后通过s1="欢迎来到:"+s1;改变了字符串s1,其实质是创建了一个新的字符串对象,变量s1指向了新创建的字符串对象,如下图所示:

2.一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以通过使用StringBuffer或者StringBuilder.

3.每次new一个字符串就是产生一个新的对象,即使两个字符串的内容相同,使用"=="比较时也为"false",如果需要比较内容是否相容,应使用"equals()"方法

二、Java中String类的常用方法

String类的常用方法:

结合代码熟悉下方法的使用:

实例代码1

运行结果:

实例代码1运行结果

注意:

1.字符串str中的字符的索引从0开始,范围为0到str.length()-1;

2.使用indexOf进行字符串或字符串的查找时,如果匹配返回位置索引;如果没有匹配结果,返回-1

3.使用substring(beginIndex,endIndex)进行字符串截取时,包括beginIndex位置的字符,不包括endIndex位置的字符。

实例二:

实例代码二

运行结果:

实例代码二运行结果

注意:

"=="和equals()有什么区别呢:

==:判断两个字符串在内存中的首地址是否相同,即是否是同一个字符串对象

equals:比较存储在两个字符串对象中的内容是否一致

三、Java中的String Builder类的常用方法

String Builder类常用方法

例如:在下面的实例代码中,创建了String Builder对象,用来存储字符串,并对其进行追加和插入操作,这些操作修改了str对象的值,而没有创建新的对象,这就是String Builder和String的最大的区别

String Builder实例代码

运行结果:

String Builder实例代码运行结果
上一篇下一篇

猜你喜欢

热点阅读