String类
String类
字符串是一个特殊的对象
String s=“ABC”;s是一个类类型变量,“ABC”是一个对象
字符串最大特点:一旦被初始化就不可以被改变
String类适用于描述字符串事物
那么它就提供了多个方法对字符串进行操作
一、获取:
1、字符串中的包含的字符数,也就是字符串的长度
intlength():获取长度
2、根据位置获取位置上某一个字符
charcharAt(int intdex)
3、根据字符获取该字符在字符串中的位置
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
int indexOf(int ch,int fronImdex):从fromIndex指定位置开始查找,获取ch在字符串中出现的位置
int indexOf(int str):返回的是str在字符串中第一次出现的位置
int indexOf(int str,int fronImdex):从fromIndex指定位置开始查找,获取str在字符串中出现的位置
int lastIndexOf(int ch)从最后一个字符开始查找
二、判断
1、字符串中是否包含某一个子串
boolean contains(str)
特殊之处:indexOf(str)可以索引str第一次出现的位置,如果返回-1,表示该str不在字符串中存在
索引,也可以用于对指定判断是否包含
if(str.indexOf("aa")!=-1
而且该方法既可以判断,又可以获取出现的位置
2、字符串中是否有内容
boolean isEmpty():原理就是判断长度是否为0
3、字符串是否是以指定内容开头
boolean startsWith(str);
4、字符串是否是以指定内容结尾
boolean endsWith(str);
5、判断字符串内容是否相同,复写了Object类中的equals方法
boolean equals(str);
6、判断内容是否相同,并忽略大小写
boolean equalsIgnoreCase();
三、转换
1、强字符数组转成字符串
构造函数:String(char[])
String(char[],offset,count):将字符串数组中的一部分转成字符串
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count)
static String calueOF(char[])
2、将字符串转成字符数组、**
char[] tiCkarArray()
3、将字节数组转成字符串
String(byte[])
String(byte[],offset,count):将字节数组中的一部分转成字符串
4、将字符串转成字节数组
bate[] getBytes()
5、将基本数据类型转成字符串
static String valueOf(int)
static String valueOf(double)
特殊:字符串和字节数组在转换过程中,是可以知道编码表的
四、替换
Stringreplace(oldchar,newchar);
五、切割
String[]split(regex);
六、子串,获取字符串中的一部分
String substring(begin);从指定位置开始到结尾
String substring(begin,end);包含头,不包含尾
七、转换 去除空格 比较
1、将字符串转成大写或者小写
StringtoUpperCase();大写
StringtoLowerCase();小写
2、将字符串两端的多个空格去除
Stringtrim();
3、对两个字符串进行自然顺序的比价
intcompareTo(string);
StringBuffer
StringBuffer
字符串的组成原理就是通过该类实现的
StringBuffer可以对字符串内容进行增删
StringBuffer是一个字符串缓冲区 是一个容器
很多方法与String相同
StringBuffer是可变长度的
特点:
1、长度是可变化的
2、可以字节操作多个数据类型
3、最终会通过toString方法变成字符串
一、存储
StringBuffer append():将指定数据作为参数添加到已有数据结尾处
StringBuffer insert(index,数据):可以将数据插入指定index位置
二、删除
StringBuffer delete(start,end):删除缓冲区中的数据,包含start 不包含end
StringBuffer deleteCharAt(index):删除指定位置的字符
三、获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
四、修改
StringBuffer replace(start,end,string);
void setCharAt(int index,char ch);
五、反转
StringBuffer reverse();
六、
将指定数组的数据存储到指定字符数组中
void getChars(int srcBegin,intsrcEnd,char[] dst,int dstBegin)
JDK1.5版本之后出现了StringBuilder
StringBuffer 是线程同步 效率慢 安全
StringBuilder是线程不同步 不安全
以后开发 建议用StringBuilder
java升级三个因素:
1、提高效率
2、简化书写
3、提高安全性
基本数据类型对象包装类的最常见作用
就是用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串
基本数据类型+“”
基本数据类型.toString(基本数据类型值);
如:Integer.toString(34);//将34整数变成“34”;
字符串转成基本数据类型
xxxa=Xxx.parseXxx(String);
inta=Integer.parseInt(“123”);
doubleb=Double.parseDouble(“12.23”);
booleanb=Boolean.parseBoolean("true");