String
概述
每一个用双引号引起来的字符串都是String类的一个实例,反过来Java程序中的所有字符串文字,都是作为该类的实例实现的。
构造方法
- String str = “aa”;
- String str = new String(“aa”);
- String(byte[] bytes, String charsetName);
常用API
- char charAt(int index):返回指定索引处的char值。
- int compareTo(String anotherString):按字典顺序比较两个字符串。
- boolean contains(CharSequence s):当且仅当此字符串包含指定的 char 值序列时,返回 true。
- boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束。
- byte[] getBytes(String charsetName):使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
- int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
- int length():返回此字符串的长度。
- String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
- boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。
- String substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。
- String trim():返回字符串的副本,忽略前导空白和尾部空白。
StringBuffer
概述
它是一个线程安全的可变字符序列,默认初始化长度为16。
使用
如果需要对字符串进行大量modify操作。推荐使用这个类,因为String类在被modify时会在内存中生成新的对象,比较耗时间,而这个类在内部维护一个char数组,修改的时候是进行元素的移动。
API
- StringBuffer append(String str):将指定的字符串追加到此字符序列。
- StringBuffer delete(int start, int end):移除此序列的某段字符。
- StringBuffer insert(int offset, String str):将字符串插入此字符序列offset位置之后。
- void setCharAt(int index, char ch):将给定索引处的字符设置为 ch。
- StringBuffer reverse():将此字符序列用其反转形式取代。
StringBuilder
概述
和StringBuffer的功能类似,但是它是线程不安全的类。和StringBuffer一样都是AbstractStringBuilder的实现类。