1. String类的其他方法,判断,获取,转换等。字符串的缓冲区对象StringBuffer,StringBuilder,基本数据类型对象包装类Integer,JDK5新特性,自动装箱拆箱。 write less do more
2. String类的判断方法
方法运算结构都是布尔类型boolean
l 判断两个字符串是否完全相同,如果完全相同返回true,boolean equals(Object obj),String类继承Object,重写equals方法,建立字符串自己的比较方式
l 判断两个字符串是否完全相同,不考虑大小写 boolean equalsIgnoreCase(String s)
l 判断一个字符串,是否包含另一个字符串,如果完全包含,返回true,boolean contains(String s)
l 判断一个字符串是否以另一个字符串开头,完全开头返回true,boolean startsWith(String s)
l 判断一个字符串是否以另一个字符串结尾,完全结尾返回true,boolean endsWith(String s)
l 判断一个字符串中是否有字符,如果没有字符返回true,boolean isEmpty(),开始版本JDK1.6
3. String类的获取方法
获取,从字符串中找东西
l 指定位置获取这个位置上的单个字符,返回char类型,char charAt(int index),传递下标的方法,注意越界异常
l 指定字符,返回这个字符在字符串中第一次出现的下标,int indexOf(char ch),如果找不到这个字符,返回负数,肯定小于0
l 指定字符,返回这个字符在字符串中第一次出现的下标,指定开始查找的位置,int indexOf(char ch,int fromIndex)
l 指定字符串,返回这个字符串在另一个字符串中第一次出现的下标 int indexOf(String s)
l 指定字符串,返回这个字符串在另一个字符串中第一次出现的下标,指定开始查找的位置,int indexcOf(String s,int fromIndex)
l 指定字符,返回这个字符在字符串中最后一次出现的位置,反向索引,int lastIndexOf(char ch),反向,但是下标不变
l 指定字符,返回这个字符在字符串中最后一次出现的位置,反向索引,指定开始查找的位置 int lastIndexOf(char ch,int formIndex)
l 返回字符串中字符的个数 int length() length length()
l 返回字符串的一部分Stringsubstring(int start,int end) 返回一个新的字符串,原始不变。包含头,不包含尾,小心越界异常
l 返回字符串的一部分String substring(int start)开始下标,后面的全要
4. String类转换方法
将字符串转成其他形式
l 将字符串转成字节数组,返回字节数组 byte[] getBytes(),查表编码表
l 将字符串转成字符数组,返回字符数组 char[] toCharArray(),不查表
l 字符串转成大写或者小写字母 ,转大写toUpperCase(),转小写 toLowerCase(),运行后返回新的字符串,原始不变
l 连接字符串 String concat(Strings) 返回新的字符串
l 将其他数据类型变成字符串 ,静态方法,反新字符串String valueOf(任意类型)
5. String类的其他常见方法
l 对字符串进行切割 ,返回新的字符串数组,String[]split(String s)按照指定的字符串进行切割,存储到新的字符串数组中
l 对字符串进行替换,返回新的字符串,String replace(char oldchar, char newChar)
l 对于字符串的替换方法String replace(String oldString,String newString)
l 去掉字符串两端的空格,返回新的字符串 String trim()
l 字符串按照字典顺序比较 int compareTo(String s)
6. 计算一个字符串在另一个字符串中出现的次数
ab car cdf car eghj car klm car n car
7. 自己定义方法实现String类中的 charAt()功能
传递索引,返回指定下标上的单个字符,如果下标乱传递参数,返回' '
字符串变成字符数组 toCharArray() 返回指定下标上的字符
8. 字符串的缓冲区对象StringBuffer类
缓冲区:出现目的,提高String类的操作效率,缓冲区这个此意思就是提高效率
StringBuffer类的特点,提供很多方法,操作字符串
可变字符序列,其实就是一个字符数组,可变长度字符数组
创建缓冲区对象的时候,字符数组初始容量16个字符的数组
9. StringBuffer类的构造方法
空参数构造方法 new StringBuffer()
带有一个String类型的构造方法 new Stringbuffer("")
10. StringBuffer类的其他方法
l 向缓冲去中追加数据,无论追加的数据是什么类型,最终到了缓冲区中都变成了字符串。方法名 append() 。
l append()这个方法的返回值很特殊,返回值类型StringBuffer,返回的是本类对象的引用 append(){return this;}既然返回的是一个本类的对象,对象就可以调用方法。
l 移除缓冲区中的字符StringBuffer delete(int start,int end)包含头,不包含尾
l 移除指定下标中的单个字符StringBuffer deleteCharAt(int index)
l 将数据插入到缓冲区的指定位置 StringBuffer insert(int index,数据类型)新的数据,占在指定下标上,原有的数据向后顺延
l 修改的指定位置上的字符 void setCharAt(int index,char ch)
l 翻转缓冲区StringBuffer reverse()
l 将缓冲区变成字符串String toString().由可变对象,变成不可变对象
11. StringBuilder缓冲区类
提高字符串的操作效率而来,底层也是可变字符数组,16个字符。StringBuffer类的方法和StringBuilder中的方法一致
StringBuffer和StringBuilder区别
1.0 1.5
同步的线程安全 , 不同步的线程不安全,运行速度快