1、String类
- 概念
-
字符串是常量,创建之后不可改变。
-
字符串字面值存储在字符串常量池中,可以共享。
-
String s = “Hello”;产生一个对象,字符串池中存储。
-
String s = new String(“Hello”); //产生两个对象,堆、池各存储一个。
-
- 字符常量池
- 常用方法
-
char[] toCharArray() 将此字符串转换为一个新的字符数组。
-
String toLowerCase() 将字符串中的大写字母全部转换为小写。
-
String toUpperCase() 将字符串中的小写字母全部转换为大写。
-
int indexOf(String str) 返回指定字符串在此字符串中第一次出现处的索引
-
int laseIndexOf(String str) 返回指定字符串在此字符串中最后一次出现的索引
-
String substring(int beginIndex) 返回一个新字符串,从beginIndex字符串下标开始的新字符串
-
String substring(int beginIndex,int endIndex) 返回一个新字符串,从字符串下标beginIndex到endIndex的新字符串
-
String trim() 返回字符串的副本,忽略前导空白和尾部空白
-
boolean startsWith(String prefix) 测试此字符串是以指定的前缀开始
-
boolean endsWith(String suffix) 测试此字符串是否以指定后缀结束
-
String replace(CharSequence target,CharSequence replacement) 返回一个新字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
-
String replaceAll(String regex, String replacement) 使用给定的 replacement 替换此 字符串所有匹配给定的正则表达式的子字符串。
-
String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串
-
byte[] getBytes() 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储 到一个新的 byte 数组中。
-
char charAt(int index) 返回指定索引处的 char 值。
-
int compareTo(Object o) 把这个字符串和另一个对象比较。
-
String concat(String str) 将指定字符串连接到此字符串的结尾。
-
boolean equals(Object anObject) 将此字符串与指定的对象比较。
-
boolean equalsIgnoreCase(String anotherString) 将此字符串与指定对象比较,忽略大小写。
-
static String valueOf(Object obj) 返回Object参数的字符串表示形式。
-
2、StringBuffer类
-
概念
- StringBuffer是可变长字符串,JDK1.0提供,运行效率慢、线程安全。
- StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。原来StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
-
常用方法
-
StringBuffer append(String str) 将指定的字符串追加到此字符序列。
-
StringBuffer delete(int start,int end) 移除此序列的子字符串序列。
-
StringBuffer insert(int offset,String str) 将字符串插入此字符序列中。
-
StringBuffer replace(int start,int end,String str) 使用给定String中的字符替换此序列的子字符串中的字符。
-
StringBuffer reverse() 将此字符序列用其反转形式取代。
-
String toString() 返回此序列中数据的字符串表示形式。
-
3、StringBuilder类
-
概念
- 可变长字符串,JDK5.0提供,运行效率快、线程不安全。
-
常用方法
- 与StringBuffer中的方法几乎类似。