字符串的兄弟类: String:不可变对象。一旦修改就会有新对象。 引入:可变字符序列,StringBuffer和StringBuilder StringBuilder默认的char[]长度为16; 不够了,扩容为原来的2倍+2
StringBuffer和StringBuilder: StringBuffer线程安全的 StringBuilder线程不安全的,JDK1.5引入 方法: (1)append(xx):拼接,连接
@Test
public void test1 ( ) {
StringBuilder s = new StringBuilder ( ) ;
s. append ( "hello" ) . append ( true ) . append ( 'a' ) . append ( 12 ) . append ( "atguigu" ) ;
System. out. println ( s) ;
System. out. println ( s. length ( ) ) ;
}
(2)insert(index,xxx):在index位置插入xx
@Test
public void test2 ( ) {
StringBuilder s = new StringBuilder ( "helloworld" ) ;
s. insert ( 5 , "java" ) ;
s. insert ( 5 , "chailinyan" ) ;
System. out. println ( s) ;
}
(3)delete(int start, int end):删除[start,end)范围内 (4)deleteCharAt(int index):删除[index]位置
@Test
public void test3 ( ) {
StringBuilder s = new StringBuilder ( "helloworld" ) ;
s. delete ( 1 , 3 ) ;
s. deleteCharAt ( 4 ) ;
System. out. println ( s) ;
}
@Test
public void test4 ( ) {
StringBuilder s = new StringBuilder ( "helloworld" ) ;
s. reverse ( ) ;
System. out. println ( s) ;
}
(6)setCharAt(int index, char ch):替换[index]位置的字符为ch
@Test
public void test5 ( ) {
StringBuilder s = new StringBuilder ( "helloworld" ) ;
s. setCharAt ( 2 , 'a' ) ;
System. out. println ( s) ;
}
(7)setLength(int newLength)
@Test
public void test6 ( ) {
StringBuilder s = new StringBuilder ( "helloworld" ) ;
s. setLength ( 30 ) ;
System. out. println ( s) ;
}
(8)substring(int start, int end):截取 (9)indexOf(String str) 如果存在返回下标,如果不存在返回-1 (10)lastIndexOf(String str) 如果存在返回最后一个的下标,如果不存在返回-1 …