三者区别:
String
描述的字符串是常量,一旦创建就不可更改,当程序出现大量的类似字符串都要单独存储,浪费内存,为了解决单独存储问题可用StringBulider
来描述,该类描述是可改变的,线程的不安全的,但效率低。StringBuffer
是线程的安全的,但效率高。
string:
一些string重要方法(常用的一些):
String()
String(byte[]byte ,int of,int length) —用byte数组,下标从of开始到length个字节构造对象;
String(byte[]byte)—用数组构造对象;
一些基本方法:
char charAt(int index) —返回字符串指定位置的字符;
int length()==得长度
boolean contains() -是否含参数指定内容
String toLowerCase(),
String toUpperCase(),
String trim() -去掉前后导的空白
boolean stratsWith() -判断字符是否以括号内的开头
boolean endsWith() -判断字符是否以括号内的结尾
boolean equals() -判断是否相同
boolean equalsIgnore() -忽略大小写判断是否相同
int index of(String str) –在字符串中检索str第一次出现的位置(打印出现位置的数字),没有返回-1;
int index of(String str,int num) —从num位置开始找:
String subString(int start,intend) —打印出开始到结尾的字符串
String subString(int start) —打印开始到最后所有字符串
StringBuilder:
初始容量为16,再加上字符串的长度;
一些常用方法:
int cpacity()–返回当前容量
int length()–返回长度
StringBuilser中常用方法:
返回值都是StringBuilder的:
insert (int of,String str)–将str插入of位置处;
append (string str)—在字符串最后加上str
delete (int start,int end)—删除从start开始到end结束的字符串
replace (int start,int end,string str)—start到end的字符串用str替换
reverse ()—字符串翻转
int indexOf(str)—查找字符串位置
String和StringBuilder互换;
从String—>StringBuilder:
StringBuilder sb = new StringBuilder(str);
调用toString从StringBuilder—>String:
String s = sb1.toString();