---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
String类:适用于描述字符串,它提供了多个方法对字符串进行操作
字符串是一个特殊的对象,一旦初始化就不可以被改变。
由(“”)英文字符双引号括起来的一串字符,String类的常量对象,存在与方法区常量池中,相同的字符串只在常量池中有一个引用。
String相当于char[]数组的包装类,String内部以final常量char[]数组的形式存储。
常见操作方法:
1获取:
1.1 返回值int length() //获取长度
1.2 返回值char charAt(int index): //根据位置获取位置上的字符
1.3 返回值int indexOf(int char) //接收ASCI码,返回ch在字符串中第一次出现的位置
indexOf(int ch,int fromIndex)//从指定位置开始,返回ch在字符串中第一次出现的位置
indexOf(String str) //返回str字符串第一次在字符串中出现的位置
indexOf(String str,fromIndex)//从指定角标位置开始获取str在字符串中出现的位置
lastIndexOf(String ch,fromIndex)//查找ch最后一次出现的位置的角标
2判断
2.1 返回值boolean contains(str) //判断字符串中是否包含某一个字符串
2.2 isEmpty() //判断字符串是否有内容,其实就是判断该字符串是否长度为0
2.3 startsWith(str) //是否以 指定内容str开头
2.4 endsWith(str)//是否以指定内容 str结尾
2.5 equals(str)//判断字符串的内容是否相同,其中复写了Object类中的equals方法
2.6 equalsIgnoreCase(str)//判断内容与str是否相同,忽略大小写
3转换:
3.1 String(char[]) //将字符数组转成字符串 |String(char[],offset,count) //将字符数组中一部分从offset位置开始,count的个数转为字符串
3.2 toCharArray() //将字符串转成字符数组
3.3 String(byte[],offset,count) //将字节数组从offset的位置开始count个数转成字符串
3.4 getBytes() //将字符串转成字节数组
3.5 valueOf() //静态方法,将基本数据类型转成字符串,int,double,float... //最简单方法 XXX+""
4替换:
replace(old,new) //将字符串中某值换成新值,如果替换值不存在就返回原串
5切割:
split(regex) //将某字符串按照给定的规则进行切割,或者按照某char值进行切割
6子串:
substring(begin,end) //获取字符串的一部分,从begin位置开始,到end结束,不包括end
7转换,去除空格,比较
7.1 toUpperCase()//转成大写字母; toLowerCase()//转成小写字母
7.2 trim(); //将字符串两端多余的空格去除
7.3 compareTo(String) //对两个字符串进行自然顺序的比较,返回值INT
StringBuffer类:字符串缓冲区,是一个容器。
特点:长度是可变的;可以直接操作多个数据;最终会通过toString方法变成字符串。
常用操作:增删改查
存储:
append():将制定数据作为参数,添加到已有数据的结尾处,返回新的StringBuffer。
insert(index,数据):可以直接将数据插入到指定index位置。
删除:
delete(start,end):删除缓冲区中的数据,包括start,不包括end。返回一个新的StringBuffer对象
deleteCharAt(index):删除指定位置的字符。返回一个新的StringBuffer对象
获取:
charAt(int index): 返回此序列中指定索引处的char
值。
indexOf(String str): 返回第一次出现的指定子字符串在该字符串中的索引int。
lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引int。
length():返回长度(字符数)int。
substring(int start,int end):返回一个新的String
,它包含此序列当前所包含的字符子序列。
修改:
reverse():将此字符序列用其反转形式取代。
replace(start ,end ,String):使用给定String
中的字符替换此序列的子字符串中的字符。
setCharAt(int index,char ch):将给定索引处的字符设置为ch
。
StringBuilder类:jdk1.5后出现,一个可变的字符序列。此类提供一个与StringBuffer
兼容的 API,但不保证同步,StringBuffer是线程同步。该类被设计用作StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer
要快。
注意:将StringBuilder
的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer。
StringBuilder与StringBuffer功能完全一样,区别在于StringBuffer是线程同步的,而StringBuilder是线程不同步的,Stringbuilder效率更高。
|---升级三个因素:
1、 提高效率
2、 简化书写
3、 提高安全性
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------