String、StringBuffer和StringBuilder
这一章要了解String、StringBuffer和StringBuilder的常见用法,和区别。
新的名池:常量池。内存中有常量池,常量池中有一个数组,用于存储常量。方法区(共享区)中有方法区,静态区,还有常量池。方法调用链。
CURD C:create U:update R:read D:delete
一、String类
1、String类的特点:
a、类String是 包java.lang中的类,被final修饰,不能创建子类,方法不能被复写。类String有很多中的构造函数。
b、一旦被初始化就不可以被改变
指向,s1的指向由”abc”,变为了”kk” 。字符串最大的特点就是一旦被初始化就不可以被改变。如String s1 = “abc” ; s1 = “kk” ; 字符串对象“abc”,并没有变过,它 依然存在内存中。变的是s1的
c、复写了Object中的equals方法。
2、String s = "abc" 和String s1 = new String ("abc")
a、String s = new String() : 这种写法不多见,但也有需要使用这种写法的特定情景。大多使用String s = “abc”。
String s = "abc":s是一个类类 型变量,“abc”是一个对象。
b、s和s1的区别 : s代表一个对象,s1代表两个对象。
3、 类String的方法
对字符串的常见操作有获取和判断。获取的方法。
1、length():获取字符串长度
2、charAt(int index):获取指定位置上的某个字符。
3、indexOf(int ch):根据字符获取该字符在字符串中的位置。
indexOf(int ch,int fromIndex):获取从指定位置开始,该字符在字符串中的位置。
indexOf(String str):获取从指定位置开始,该字符串在字符串中的位置。
indexOf(String str , int fromIndex):获取从指定位置开始,该字符串在字符串中的位置。当要查找的字符或字符串不存在时,返回-1。
Mark 13 02
二、类StringBuffer
特点:
StringBuffer是字符串缓冲区,是一个容器, 被final修饰。线程安全,即线程同步。具备对字符串进行存,删,取,改的功能。
方法:
append(……):往StringBuffer对象中添加数据。但不支持添加byte,short类型的数据(可以将其提升为int型)。
append()添加到结尾。
intsert(……)插入
三、类StringBuilder
StringBuilder和StringBuffer类似,不同的是StringBuilder是线程不同步的,用于单线程,效率高。StringBuilder出现于JDK1.5。