String类和StringBuffer,StringBuilder
1.String类是一个用来描述字符串的这么一个类,用String类创建的字符串对象是一个常量,它们的值在创建后就不能更改。
//String类的创建方式:
String s1 = "abc";
String s = new String("abc");
2.StringBuffer和StringBuilder都是是字符串缓冲区,是一个容器,长度是可以变化的,通过某些方法调用可以改变该序列的长度和内容,可以自己操作多个数据类型,最终会通过toString方法输出字符串。
StringBuffer和StringBuilder除了在线程上不同,其余都几乎一样,StringBuffer是线程同步的,StringBuilder是线程不同步的,所以在线程需要同步的时候我们用StringBuffer,线程不需要同步的时候我们用StringBuilder,因为StringBuilder的效率更高。
//StringBuffer和StringBuilder的创建方式:
StringBuffer = new StringBuffer ("abc");
StringBuilder= new StringBuilder ("abc");
3.操作String类的方法
//获取:
int length();//获取字符串的长度
char charAt(int index); //获取参数位置的字符
int indexOf(int c(ASCII))//根据字符获取位置
int indexOf(int c(ASCII),int c指定位置)//根据字符从指定位置开始获取位置
int lastindexOf(int c)//反方向查找
//获取子串中的一部分:
String subString(begin);//从bagin开始索引
String subString(begin,end); //从begin到end,含头不含尾
//判断:
boolean equalsIguoreCase();//不区分大小写比较
boolean equals();//判断两个字符串的值是否一样
boolean contains(str);//是否包含一个str子串
boolean isEmpty();//是否有内容
boolean startsWith(str);//是否以str开始
boolean endsWith(str);//是否以str 结尾
//转换:
//1 将字符数组转成字符串:
构造函数 String(char[])
String(char[],offset,count);//将一部分转成字符串
静态方法 static String copyValueOf(char[]);
static String copyValueOf(char[],offset,count);
static String valueOf(char[]);
//2 将字符串转换成字符数组:
char[] toCharArray();
//3 将 字节数组 转成 字符串
String(byte[]);
String(byte[],offset,count);
//4 将 字符串 转换成 字节数组
byte[] getBytes();
//5 将 基本数据 类型转换成 字符串
static String valueOf(int);
static String valueOf(double);
//例:String.valueOf(3);
//替换:
String replace(oldchar,newchar);
//切割:
String[] split(切割符);
//转换大小写:
String toUpperCase();
String toLowerCase();
//将字符串两端的空格去掉
String trim();
//对两个字符进行自然排序的比较
int str1.compareTo(str2);
//返回值是为0 两个一样
//返回值为正 str1大
//返回值为负 str2大
4.StringBuffer和StringBuilder的一些常用方法:
//1存储
StringBuffer append();//将指定数据作为参数添加到结尾处
StringBuffer insert(inext,数据);//添加到指定位置
//2 删除
StringBuffer delete(start,end)
StringBuffer deleteCharAt(index);//删除指定位置的字符
//3 获取
char charAt(int index)//获取index位置的字符
int indexOf(String str)//获取字符串str的位置
int lastIndexOf(String str)//反向获取str的位置
int length()//获取长度
String substring(int start,int end)//获取start位置到end位置的子字符串
//4 修改
替换 StringBuffer replace(start,end,string)
单个字符的替换void setCharAt(int index.char ch)
//5 反转
StringBuffer reverse();
//6 将缓冲区中的 指定数据 存储到 指定字符组 的指定位置
void getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin);
//把缓冲区里的字符串从srcbegin 到 srcEnd 存到 dst 的 dstbegin起始位置
5.String类和StringBuffer,StringBuilder的使用
操作一些不需要被需改的字符串时我们可以使用String类创建对象,如果是需要经常修改的话我们就用StringBuffer或StringBuilder,在线程需要同步的时候我们用StringBuffer,线程不需要同步的时候我们用StringBuilder,因为StringBuilder的效率更高。