------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
常见对象(二)
1. StringBuffer类
Ⅰ线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,相对于不可改变的String类StringBuffer可以改变。
java.lang 包下,JDK1.0开始
Ⅱ构造方法
public StringBuffer(): 无参构造方法
public StringBuffer(int capacity): 指定容量的字符串缓冲区对象
public StringBuffer(String str): 指定字符串内容的字符串缓冲区对象
StringBuffer的方法:
public int capacity():返回当前容量。 理论值
public int length():返回长度(字符数)。
代码实现
package cn.itcast_cotest4;
public class Test1 {
public static void main(String[] args) {
<span style="white-space:pre"> </span>StringBuffer sb1 = new StringBuffer(12);
<span style="white-space:pre"> </span>StringBuffer sb2 = new StringBuffer("helloworld");
<span style="white-space:pre"> </span>System.out.println(sb1.capacity());
<span style="white-space:pre"> </span>System.out.println(sb2.capacity());
<span style="white-space:pre"> </span>System.out.println(sb2.length());
}
}
打印结果:
12 26 10
ⅢStringBuffer的添加功能
public StringBuffer append(String str): 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str): 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
代码实现:
package cn.itcast_cotest4;
public class Test2 {
public static void main(String[] args) {
<span style="white-space:pre"> </span>StringBuffer sb = new StringBuffer("HelloJava");
<span style="white-space:pre"> </span>sb.append("Android");
<span style="white-space:pre"> </span>sb.append("heima");
<span style="white-space:pre"> </span>sb.insert(5, 'O');
<span style="white-space:pre"> </span>System.out.println(sb);
}
}
打印结果: HelloOJavaAndroidheima
ⅢSringBuftfer的删除功能
public StringBuffer deleteCharAt(int index): 删除指定位置的字符,并返回本身
public StringBuffer delete(int start,int end): 删除从指定位置开始指定位置结束的内容,返回本身
代码实现
package cn.itcast_cotest4;
public class Test5 {
<span style="white-space:pre"> </span>public static void main(String[] args) {
<span style="white-space:pre"> </span>StringBuffer sb = new StringBuffer("HelloJava");
<span style="white-space:pre"> </span>sb.delete(0, 5);
<span style="white-space:pre"> </span>System.out.println(sb);
<span style="white-space:pre"> </span>sb.deleteCharAt(3);
<span style="white-space:pre"> </span>System.out.println(sb);
}
}
打印结果 Java Jav
ⅣStringBuffer的替换功能
public StringBuffer replace(int start,int end,String str): 从start开始到end用str替换
StringBuffer的反转功能
public StringBuffer reverse(): 字符串反转
StringBuffer的截取功能
public String substring(int start): 从指定位置截取到末尾
public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
代码实现
<p><pre name="code" class="java">package cn.itcast_cotest4;
public class Test6 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("HelloJava");
System.out.println(sb.replace(5, 9, "World"));
System.out.println(sb.substring(5));
System.out.println(sb.substring(0, 5));
System.out.println(sb.reverse());
}
}
打印结果:HelloWorld
World
Hello
dlroWolleH
Ⅴ StringBuffer和String的相互转换
StringBuffer-----------String
1 通过构造方法
2 通过append()方法
String---------------StringBuffer
1通过构造方法
2 通过toString()方法
代码实现
<pre name="code" class="java">package cn.itcast_cotest4;
public class Test7 {
public static void main(String[] args) {
//String----StringBuffer
//构造方法
String s = "iloveblackhorse";
StringBuffer sb = new StringBuffer(s);
System.out.println(sb);
//调用append()方法
StringBuffer sb2 = new StringBuffer();
sb2.append(s);
System.out.println(sb2);
//StringBuffer-------String
//构造方法
StringBuffer sb3 = new StringBuffer() ;
sb3.append("我爱itcast");
String s2 = new String(sb3);
System.out.println(sb3);
// 调用StringBuffer中的toString()方法
String result = sb3.toString() ;
System.out.println(result);
}
}
打印结果:iloveblackhorse
iloveblackhorse
我爱itcast
我爱itcas