String类
String类作为不可修改的对象,如果用String修改字符串会新建一个String对象,如果频繁修改,则会产生很多String对象,会产生很大的开销,效率也不是很高
提供了字符串的比较,查找,截取,大小写转换等操作
String类被final所修饰,不能被继承
String()构造空串
String(String)构造为String的串
String(Byte[],offset,length)
String(char[])
String(char[],offset,count)
String.length()
String.substring(begin)
String.substring(begin,end)
String.startwith(String)
String.endwith(String)
String.toString()
String.equals(String)
String.equalsIgnoreCase(String)
StringBuffer类和StringBulider类(字符串缓冲区)
StringBuffer类(StringBuilder类同理,下同)作为可以修改的对象,如果是构造一个需要改变的String的话建议先使用StringBuffer,当String类不需要改变的时候再将其转换到String类
StringBuffer底层维护了一个字符数组,存储字符时实际上时往该字符数组中存储,初始化容量为16,当容量不够用时,自动增长一倍
StringBuffer类也具有String类的方法
string=stringBuffer.toString();
stringBuffer()
stringBuffer(String)
stringBuffer.append(String)
stringBuffer.append(char)
stringBuffer.length()
stringBuffer.replace(start, end, str)
stringBuffer.reverse()
stringBuffer.insert(i,String)
stringBuffer.delete(start,end)
stringBuffer.indexOf(String)
stringBuffer.indexOf(String,fromIndex)
stringBuffer.charAt(index)
stringBuffer.setCharAt(index, char)
StringBuffer与StringBuilder的区别
StringBuffer类所提供的方法都是同步的方法,属于安全的线程操作
StringBuilder类中的大多方法都是异步方法,属于线程安全的操作
如果多线程环境下涉及到大量修改的操作的话,则首先选择StringBuffer
如果非多线程环境下涉及到大量修改的操作的话,则首先选择StringBuilder
总的来说,执行速度的比较 StringBuilder>StringBuffer>String 蓝桥杯比赛最好用StringBuilder先构造,最后直接StringBuilder.toString()
|