---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
String类
Java是纯面向对象的语言,讲究万物皆对象,同样的,字符串也被封装成了对象,就是String类。
public final class String extends Objectimplements Serializable,Comparable
把字符串封装成对象的好处不言而喻,可以对这种常见的数据进行方便的操作,对象封装以后,可以定义自己的属性和行为。
字符串是一个特殊的对象,一旦初始化之后就不可以被改变
String s = “aaa”;
s是字符串类型的引用变量,它可以改变指向其他的字符串,但是右边的字符串对象是不能改变的
对String类的学习,主要学习它的API
1.获取
①获取字符串长度
intlength()
②根据位置获取字符串
charcharAt(int index)
③根据字符获取位置
intindexOf(int ch)
int indexOf(intch,int fromIndex)
int indexOf(Stringstr)
intindexOf(String str,int fromIndex)
intlastIndexOf(int ch)
intlastIndexOf(int ch,int fromIndex)
intlastIndexOf(String str)
int lastIndexOf(Stringstr,int fromIndex)
④获取子串
StringsubString(int beginIndex,int endIndex)
Stringsubstring(int beginIndex)
2.判断
①两个字符串是否相同
booleanequals(Objec obj)
booleanequalsIgnoreCase(String str)
②字符串中是否包含某个字符
booleancontains(String str)
③字符串是否以指定字符串开头或结尾
booleanstartsWith(String str)
booleanendsWith(String str)
④字符串是否为空
booleanisEmpty()
3.字符串转换
①将字符串变成字符串数组
String[]split(String regex)
②将字符串变成字符数组
Char[]toCharArray()
③将字符串变成字节数组
byte[]getBytes()
④将字符数组变成字符串
String(char[] value)
String(char[]value, int offset, int count)
staticString valueOf(char[] value)
staticString valueOf(char[] value, int offset, int count)
⑤字符串的大小写转换
StringtoUpperCase();
StringtoLowerCase()
⑥字符串内容替换
Stringreplace(char oldch,char newch)
Stringreplace(CharSequence target, CharSequence replacement)
⑦字符串两端去空格
Stringtrim()
⑧链接字符串
Stringconcat(String str)
4.比较
intcompareTo(String str)
示例:
StringBuffer类(StringBuilder类)
public final class StringBuffer extendsObject implements Serializable, CharSequence
字符串缓冲区,是一个容器
字符串的组成原理就是通过它实现的
StringBuffer可以对字符串内容进行增删,很多方法与String相同
StringBuffer是可变长度的
CURD
create update read delete
1.添加
StringBufferappend(data) 重载函数很多,data可以使很多类型数据
StringBufferinsert(int offset, 数据) 重载方式很多
2.删除
StringBufferdelete(int start, int end) 注意:含头不含尾
deleteChartAt(intindex) 删除指定位置的元素
3.查找
charcharAt(int index)
intindexOf(String str)
intlastIndexOf(String str)
4.修改
StringBufferreplace(int start, int end, String str)
voidsetCharAt(int index, char ch)
5.翻转
StringBufferreverse()
6.将缓冲区中的指定数据存储到字符数组中
voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
jdk升级,StringBuffer变StringBuilder
StringBuilder是线程不同步的,效率高
StringBuffer是线程同步的
StringBuilder是对StringBuffer的一个简单替换,用在字符串缓冲区被单个线程使用的时候
StringBuffer和StringBuilder的区别
1.StringBuffer线程安全,StringBuilder线程不安全
2.单线程操作,用StringBuilder效率高,多线程操作用StringBuffer安全
目的:提高效率,简化书写
特点总结:
1.可以对字符串内容进行修改
2.是一个容器
3.是可变长度的
4.缓冲区中可以存储任意类型数据
4.最终需要变成字符串
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------