String基本方法学习笔记

来源:互联网 发布:淘宝客申请推广理由 编辑:程序博客网 时间:2024/06/16 06:12

String s = “abc”;与String s = new String(“abc”)的区别
String s = “abc”在内存上有一个对象;
String s = new String(“abc”)在内存上有两个对象;
String字符串一旦初始化不能被改变。

String常用方法:
1、获取
int length() :获取字符串长度。
char charAt(int index) :根据位置获取该字符串上某个字符。 
int indexOf(int ch)返回的是ch在字符串中第一次出现的位置,ch为字符的ASCII码。
int indexOf(int ch,intfromIndex):从fromIndex指定位置开始,获取ch在字符中中出现的位置。
int  indexOf(String str):返回的是str在字符串中第一次出现的位置。如果没有这返回-1。
int indexOf(String str, int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。

2、判断
boolean contains(str):判断字符串中是否包含str;此种判断有indexOf(str)也可以判断。
boolean isEmpty():原理就是判断长度是否为0。
boolean startsWith(str):是否以指定内容开头。
boolean endsWith(str):是否以指定内容结尾。
boolean  equals(str):重写了object类中的equals方法,判断字符串内容是否相等。
boolean equalsIgnoreCase():判断内容是否相同,并忽略大小写。

3、转换
将字符数组转化成字符串:
构造函数:String(char[])
                 String(char [],offset,count),将字符数组中的一部分转换层字符串,offset为下标值,从0开始,count为转换的数量。
静态方法:
             static String copyValueOf(char[]);
             static String copyValueOf(char[], int offset, int count)
             static String valueOf(char [])
字符串转化为字符数组: char[] toCharArray()。    
字符串转化为字节数组:byte[] getBytes()。
 
将基本数据类型转换成字符串:
           static String valueOf(int)
           static String valueOf(double)

4、替换字符或字符串:
String replace(oldchar,newchar);如果要替换的字符不存在,则还返回原字符串。

5、切割:
String[] split(reget);

子串,获取字符串中的一部分:
String substring(begin); //从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界异常。
String substring(begin, end);//包含头,不包含尾。v

转换、去除空格、比较
将字符串转成大写或小写: 
String toUpperCase();
String toLowerCase();
对字符串两端的多个空格去除:
String trim();
对字符串进行自然顺序的计较:
int compareTo(string);对两个字符串进行比较时,如s1.compareTo(s2),s1大于s2返回正值,等于返回0,小于返回负值,从第一个字符开始比较,如相等比较下一个,如不相等则其后的字符将不再比较,比较的值是用ASCII码进行比较。

 StringBuffer
StringBuffer是字符串缓冲区,是一个容器。当数据类型不确定,数据个数不确定,并且最终转换为字符串时用StringBuffer最合适。
特点:
1、长度是可以变化的;
2、可以字节操作多个数据类型;
3、最终会通过tostring方法变成字符串。

1、存储
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer  insert(index,数据):可以将数据插入到指定的index位置。

2、删除
StringBuffer delete( start, end):删除缓冲区中的数据,包含start不包含end。
StringBuffer deleteCharAt(index):删除指定位置的字符。

3、获取
int indexOf(String str):返回第一次出现字符的位置。
int lastIndexOf(String str)
char charAt(int index):通过下标获取字符。
int length();
String substring(int start,int end)

4、修改
StringBuffer  replace(start, end,str):
把字符串从start到end(包含start不包含end)替换成str。
void setCharAt(int index,char ch)

5、反转
StringBuffer recerse

6、将缓冲区中指定数据存储到指定数组中。
 void getChars(int srcBegin, int srcEnd, char[] dst, int  dstBegin)

StringBuffer是线程同步。多线程时用
StringBuilder是线程不同步。单线程时用   





















 
0 0
原创粉丝点击