String类:
不可变字符序列:
-
private final char[] value;//底层以字符数组储存
构造方法:
-
String()
-
String(byte[] bytes) :解码 decode
注:编码:encode 以计算机为中心,解释给计算机;解码:decode 解释给人
-
String(byte[] bytes, Charset charset) : GBK UTF-8
-
String(char[] value)
普通方法:
-
charAt(int index) 返回的是指定下标对应的字符
-
concat(String str) 字符串的拼接 +
-
endsWith(String suffix) 是否以给定的字符串结尾,如果是返回true
-
startsWith(String prefix) 是否以给定字符串开头,如果是返回true
-
equals(Object anObject) 比较两个字符串中字符是否相同,如果相同返回true,否则返回false
-
equalsIgnoreCase(String anotherString)
-
byte[] getBytes() :使用平台默认的字符集,返回字节数组 --编码
-
getBytes(Charset charset) :指定字符集,返回字节数组 ---编码
-
indexOf(int ch) :返回字符或者子字符串第一次出现的下标的位置
-
lastIndexOf(int ch) :返回字符或者子字符串最后一次出现的下标的位置
-
length():字符串中字符的长度
-
replace(char oldChar, char newChar) :使用新的字符或者子字符串替换老的
-
split(String regex) :字符串的分隔,返回的是字符串的数组
-
substring(int beginIndex) :字符串的截取
-
trim() : 删除首尾的空格
-
String.valueOf():转换成字符串。
StringBuilder类:
-
可变字符序列,线程不安全的
-
char[] value;
构造方法:
-
StringBuilder(String str)
-
StringBuilder()
普通方法:
-
append(String str) :追加
-
insert(int dstOffset,字符串) :在指定的位置上插入指定字符串
-
delete(int start, int end) 删除指定的字符串
-
reverse() :反转
StringBuffer类:
-
可变字符序列,线程安全的,效率慢
-
synchronized:同步
StringBuilder类是线程不安全的,效率高。
StringBuffer类是线程安全的,效率低。
这两个类的方法一模一样。只是StringBuffer类中的方法比StringBuilder类中的方法声明前多了
一个关键字 synchronized
独有的方法:都是返回调用者本身