問題
StringBuilder類提供將各種數據類型變量的字符串形式追加到當前序列中的append方法,在Java API中提供的append重載方法如圖-15所示:
本案例要求將字符串"java"、"cpp"、"php"、"c#"以及"objective-c"追加到字符序列"Programming Language:"的後面。
方案
首先,實例化StringBuilder類的對象,並且初始化該對象內容爲"Programming Language:"字符串;然後調用append方法,再爲該對象追加字符串"java"、"cpp"、"php"、"c#"以及"objective-c";最後,調用StringBuilder類的toString方法,將該對象轉換爲String類型變量並輸出。
另外,StringBuilder的很多方法的返回值均爲StringBuilder類型。這些方法的返回語句均爲:return this。可見,這些方法在對StringBuilder所封裝的字符序列進行改變後又返回了該對象的引用。基於這樣的設計的目的在於可以按照如下簡潔的方式書寫代碼:
sb.append("java").append("cpp").append("php").append("c#").append("objective-c");
步驟
實現此案例需要按照如下步驟進行。
步驟一:創建類TestStringBuilder,並在其中添加測試方法
在工程JavaSE的day01包下,新建名爲TestStringBuilder類,並在該類中添加測試方法testAppend,工程結果如圖-16所示,代碼如下所示:
package day01;
import org.junit.Test;
public class TestStringBuilder{
/**
*測試StringBuilder的append方法
*/
@Test
public void testAppend(){
}
}
步驟二:使用append方法
首先,實例化StringBuilder類的對象,並且初始化該對象內容爲"Programming Language:"字符串;然後調用append方法,再爲該對象追加字符串"java"、"cpp"、"php"、"c#"以及"objective-c"。代碼如下所示:
package day01;
import org.junit.Test;
public class TestStringBuilder{
/**
*測試StringBuilder的append方法
*/
@Test
public void testAppend(){
StringBuilder sb=new StringBuilder("Programming Language:");
sb.append("java").append("cpp").append("php").append("c#")
.append("objective-c");
}
}
步驟三:使用toString方法
調用StringBuilder類的toString方法,將該對象轉換爲String類型變量並輸出,代碼如下所示:
package day01;
import org.junit.Test;
public class TestStringBuilder{
/**
*測試StringBuilder的append方法
*/
@Test
public void testAppend(){
StringBuilder sb=new StringBuilder("Programming Language:");
sb.append("java").append("cpp").append("php").append("c#")
.append("objective-c");
System.out.println(sb.toString());
}
}
步驟四:運行
運行TestStringBuilder類的testAppend方法,控制檯輸出結果如下所示:
Programming Language:javacppphpc#objective-c
從運行結果可以看出,將字符串"java"、"cpp"、"php"、"c#"以及"objective-c"追加在"Programming Language:"的後邊。