String中的方法
1.string类的成员使用:1.构造函数,2.一般函数
2.字符串对象所具备的的功能:
1.判断:
1.判断两个字符串内容是否相同。Boolean equals(Object):覆盖了Object类中的方法。
2.判断两个字符串内容是否相同,忽略大小写:boolean equalsIgnoreCase(string)
3.判断一个字符串中是否包含另一个字符串:boolean contains(String).
4.判断一个字符串是否以一个字符串开头:boolean startsWith(String).
5.判断一个字符串是否以另一个字符串结尾:boolean endsWith(string).
6.判断字符串是否有具体的字符数据,或者判断字符串是否有内容:boolean idEmpty().
2.获取:
1.获取字符串的长度:int length().
2.根据指定的位置获取该位置对应的字符:char charAt(index);
3.根据字符获取该字符第一次出现的位置:int indexOf(ch);int indexOf(ch,fromIndex):从fromIndex位置开始获取ch第一次出此案的位置。找到就返回第一次出现角标位,没有找到,就返回-1,所以,可以通过-1这种方式判断一个字符是否存在与字符串中。
4.根据字符串换取该字符串第一次出现的位置:int indexOf(string),int indexOf(ch,fromIndex):从fromIndex位置开始获取ch第一次出此案的位置。找到就返回第一次出现角标位,没有找到,就返回-1,所以,可以通过-1这种方式判断一个字符是否存在与字符串中。
5.同样是获取字符串或者字符第一次出现的位置,但是是通过反响索引完成的。功能和indexOf一致。Int lastIndexOf(ch);Int lastIndexOf(ch,fromIndex);Int lastIndexOf(string);Int lastIndexOf(string,fromIndex);
6.获取字符串中的一部分字符串。String substring(start):从start开始到结尾。String substring(start,end),获取到的字符串包含start位,不包含end位。
3.转换:
1.将字符串转成字节数组。Byte[] getByte():编码解码是较为常用,还有在io流操作字节数据也很常用。
2.将字符串转成子数组。Char[] toCharArray();
3.将字符串数组或者数组中的一部分转成字符串,static string valueOf(char[]),
4.将字符数组或者数组中的一部分转成字符串。Static string valueOf(char[]).
5.基本数据类型转换成字符串:static static valueOf(int);
static static valueOf(double);
static static valueOf(boolean);
...
int x = 3;
String.valueOf(x);--> "3";
x+""--> "3";
6.将对象变成字符串。static static valueOf(object);和object.toString():结果是一样的。
7.将字符串转换大写或者小写。小写:toLowerCase();大写:toUpperCase().
4.替换:
1.替换字符:String replace(oldchar,newchar);
2.替换字符串:string replace(string,string).
5.切割:String[] split(regex).
6.去除字符串两端空格:string trim().
StringBuffer:字符串缓冲区。缓冲区用于存储数据,
所以它也称之为容器。
缓冲区的特点:
1,可以添加基本数据和引用数据。添加数据完毕,
一般都需要将其转成字符串进行使用。通过toString方法转成字符串。
2,该容器和数组不一样,数组是固定长度的,而且只能添加同一类型。
而StringBuffer长度是可变的,可以添加不同类型。
类型一致的数据,可以使用数组,也可以StringBuffer。
但是数组添加元素,可以保证数据的类型不变。而StringBuffer添加完数据,全变成字符串。
3,StringBuffer可以对字符串进行修改。
其实StringBuffer之所以可以存储数据,就是因为底层封装是一个字符数组。
既然是一个容器:就应该具备比如增加,删除等操作。
那么这个StringBuffer都具备哪些功能呢?请看API介绍。
常见功能,
1,添加。
StringBuffer append():可以将基本数据类型数据和引用类型数据添加到缓冲区。注意:不可以直接操作short byte.
将数据添加到缓冲区的末尾。数据追加。
这个方法返回来的还是原理的缓冲区对象。
2,删除。
StringBuffer delete(start,end);
StringBuffer deleteCharAt(index):
3,获取字符串的出现的位置。int lastIndexOf(str);int indexOf(str);
4,替换:StringBuffer replace(start,end,string);
5,修改:void setCharAt(index,char);
6,反转:StringBuffer reverse();
JDK1.5版本出现了一个新对象StringBuilder
该对象功能和StringBuffer一致。
区别:
StringBuffer:是线程安全的。
StringBuilder:是线程不安全的。
日后开发,常用的是StringBuilder.因为一般都是单线程。主线程在运行。
如果真的有了多线程,那么建议使用StringBuffer.
StringBuilder的出现,是为了提高了效率。
JDK的升级:不外乎三个因素:
1,简化书写。
2,提高效率。
3,提高安全性。