在Java语言中,字符串就是一个unicode字符序列。java把字符串当作对象来处理,提供了String,StringBuffer,StringBuilder等类来创建和操作字符串对象。
String
Java.lang.String将一个字符序列抽象成为一个字符串对象,可以通过其构造方法创建字符串对象。
String的值时不可变的,每次对String的操作都会生成新的String对象,这样会浪费大量的内存空间。
String较常用方法:
1.public boolean equals(Object anObject)
判断两个字符串对象的内容是否相等,相等返回true。(String类提供了忽略字母大小写的比较方法:equalsIgnoreCase())
2.public char charAt(int index)
返回指定索引处的char值
3.public String substring(int beginIndex)
返回一个从指定索引处的字符开始,直到此字符串末尾的新的字符串
(public String substring(int beginIndex,int endIndex) 返回一个从指定的beginIndex开始,直到索引endIndex-1处的字符串)
4.public int indexOf(int ch)
从头到尾检索字符串,返回指定字符在此字符串中第一次出现的索引。若找到,返回匹配位置,否则返回-1
5.public int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引
StringBuffer StringBuilder
与String不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的对象。
两者相比较,最大的不同是StringBuilder的方法不是线程安全的。但StringBuilder相比于有速度优势。
三者区别
String:值不可变,适用于少量数据
StringBuffer:值可变,效率低,线程安全
StringBuilder:值可变,效率高,线程不安全