一、 String类常用构造器
- String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。
- String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一新的 String。
- String(byte[] bytes, Charset charset) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
- String(byte[] bytes, String charsetName) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
例:(bytes,”UTF-8”) - String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的 byte 子数组,构造一个 新的 String。
- String(byte[] bytes, int offset, int length, Charset charset) 通过使用指定的 charset 解码指定的 byte 子数组,构造一个新 的 String。
- String(byte[] bytes, int offset, int length, String charsetName) 通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。
- String(StringBuffer buffer) 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的 字符序列。
- String(StringBuilder builder) 分配一个新的字符串,它包含字符串生成器参数中当前包含的 字符序列。
二、 String常用判断方法 返回值类型都是boolean
- equals(Object obj) 比较字符串的内容是否相同,区分大小写
- equalsIgnoreCase(String str) 比较字符串的内容是否相同,忽略大小写
- contains(String str) 判断大字符串中是否包含小字符串
- startsWith(String str) 判断字符串是否以某个指定的字符串开头
- endsWith(String str) 判断字符串是否以某个指定的字符串结尾
- isEmpty() 判断字符串是否为空。
三、 String类常用的获取方法
- length() 获取字符串的长度。
- charAt(int index) 获取指定索引位置的字符
- indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
- indexOf(int ch,int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定 的索引开始搜索。
- indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。
- indexOf(String str,int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从 指定的索引开始。
- lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。
- lastIndexOf(int ch,int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指 定的索引处开始进行反向搜索。
- lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。
- lastIndexOf(String str,int fromIndex) 返回指定子字符串在此字符串中最后一次出现处的索引, 从指定的索引开始反向搜索。
- substring(int start) 从指定位置开始截取字符串,默认到末尾。
- substring(int start,int end) 从指定位置开始到指定位置结束截取字符串。
四、 String的常用转换方法
- getBytes() 把字符串转换为字节数组。
- toCharArray() 把字符串转换为字符数组。
- String valueOf() 把传入的变量转成字符串。
- toLowerCase() 把字符串转成小写。
- toUpperCase() 把字符串转成大写。
- concat(String str) 把字符串拼接。
五、 String类其他常用方法
- replace(String old,String new) 使用指定的字面值替换序列替换此字符串所有匹配 字面值目标序列的子字符串。
- trim() 返回字符串的副本,忽略前导空白和尾部空白。
- compareTo(String str) 按字典顺序比较两个字符串。
- compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
- split(String regex) 根据给定正则表达式的匹配拆分此字符串。
- split(String regex,int limit) 根据匹配给定的正则表达式来拆分此字符串。
六、 String、StringBuffer和StringBuilder
String 类对象不可变,一旦修改 String的值就是隐形的重建了一个新的对象,释放了原 String对象 StringBuffer和StringBuilder类是可以通过append()、insert()、reverse()…等方法来修改值。创建 的对象是可变 StringBuffer:线程安全的; StringBuilder:线程非安全的 字符串连接 String 的 + 比 StringBuffer(StringBuilder) 的 Append() 性能差了很多 三者在执行速度方面的比较:StringBuilder > StringBuffer > String