Java-String总结

来源:互联网 发布:文心雕龙数据库有吗 编辑:程序博客网 时间:2024/06/06 01:14

1、创建字符串

1String a =new String("")(2String a = ""3)Char[] charArray = {'',''}    String a = new String(charArray)(4String a = new String(charArray,0,1)//从字符数组截取指定长度

2、连接字符串

1)+或者+=(2)a.concat(str)//String自带的方法注:两个字符串在拼接后会在内存中生成一个新的字符串

3、提取属性

1)获取长度//String是length()方法、数组是length属性    str.length()(2)获取指定的字符    str.charAt(index)(3)获取子字符串索引位置(第一次出现)//判断一个字符串是否包含另一个字符串    str.indexOf('')    str.indexOf('',startIndex)    str.lastIndexOf('')//在字符串中最右边出现的索引    str.lastIndexOf('',startIndex)(4)是否以指定前缀开始    str.startWith('')    str.startWith('',startIndex)(5)是否以指定后缀结束    str.endWith('')(6)拆分成字符数组    str.toCharArray()(7)判断是否包含子串    str.contains('')

4、字符串操作

1)截取    str.substring(startIndex)//到末尾    str.substring(startIndex,endIndex)(2)替换    str.replace(oldStr,newStr)//如果没有匹配到oldStr,则直接返回原串    str.replaceAll(oldStr,newStr)    注:此处replace与replaceAll的最大区别为replaceAll支持正则表达式,可以使用正则匹配所有结果进行替换(3)分割    str.split('')    str.split('',limit)//限定分割次数    注:如果想使用多个条件进行分割,每个分割条件之间用‘|’进行间隔。特殊间隔符号需要变为转义字符(4)大小写转换    str.toLowerCase()    str.toUpperCase()(5)去除空白    str.trim()//去除首尾空白    注:使用str.replaceAll('\\s','')可以达到去除字符串中所有的空白,这是基于正则的匹配(6)比较是否相等    str.equals(String)    str.equalsIgnoreCase(String)    注:    关于“==”与equals的区别:“==”比较的是对象的地址指向是否是一个(堆),而equals比较的是栈中的值是否相等    关于判断一个字符串str是否为空,需要分别判断str是否等于null或者""7)格式化字符串(很强大)    str.format(format,Object)    可以格式化日期,可以大小写,科学计数法.....

5、String、StringBuilder、StringBuffer

1)关于安全性:String不安全、StringBuilder单线程不安全效率高、StringBuffer多线程安全效率中等(2)创建对象:    StringBuffer sbf = new StringBuffer()    StringBuffer sbf = new StringBuffer("")    StringBuffer sbf = new StringBuffer(32);//设定初始容量3)StringBuffer与StringBuilder共有方法    sbf.append(obj)//末尾追加    sbf.setCharAt(index,'')//在指定索引修改字符    sbf.insert(index,"")//在指定索引插入字符串    sbf.reserve()//将字符串反序输出    sbf.delete(startIndex,endIndex)//从字符串中删除部分    还有其余String对象拥有的方法也可使用(4)三者的不同之处    String只能赋值一次,每次内容改变都会新增一个对象,然后原有对象引用新的对象。    StringBuffer与StringBuilder则是每次都是对自身进行操作。其所占空间会随着字符内容增加进行扩充。    StringBuffer与StringBuilder之间,StringBuffer则是用synchronized关键字
原创粉丝点击