Java API - StringBuilder的常用API
文章目錄
- StringBuilder
- StringBuilder的API介紹
- StringBuilder的API練習
StringBuilder
StringBuilder的API介紹
使用StringBuilder的是因為StringBuilder比String的性能更好, 使用更加方便
StringBuilder概述
StringBuilder是一個可變的字符串類,我們可以把它看成是一個對象容器。
作用:提高字符串的操作效率,如拼接、修改等。
StringBuilder的有參和無參構造器
| public StringBuilder() | 創建一個空白的可變的字符串對象,不包含任何內容 |
| public StringBuilder(String str) | 創建一個指定字符串內容的可變字符串對象 |
StringBuilder的常用方法
| append(任意類型) | 添加數據并返回StringBuilder對象本身 |
| reverse() | 將對象的內容反轉 |
| length() | 返回對象內容長度 |
| toString() | 通過toString()就可以實現把StringBuilder轉換為String |
append方法的使用
append方法基本使用
public class StringBuilderDemo1 {public static void main(String[] args) {StringBuilder strb1 = new StringBuilder();strb1.append("a");strb1.append("b");strb1.append("c");strb1.append("我愛你中國");strb1.append(false);System.out.println(strb1); // abc我愛你中國false} }append方法的鏈式調用
public class StringBuilderDemo1 {public static void main(String[] args) {StringBuilder strb1 = new StringBuilder();strb1.append("a").append("b").append(1.23).append("我愛你中國").append(false);System.out.println(strb1); // ab1.23我愛你中國false} }注意: 在上面代碼中, 打印strb1時, 我們發現打印的是字符串, 并不是字符串的地址, 說明StringBuilder內部是重寫了toString方法的
源碼
@Override @IntrinsicCandidate public String toString() {// Create a copy, don't share the arrayreturn isLatin1() ? StringLatin1.newString(value, 0, count): StringUTF16.newString(value, 0, count); }reverse方法演示
public class StringBuilderDemo1 {public static void main(String[] args) {StringBuilder strb1 = new StringBuilder();strb1.append("a").append("b").append("c").reverse();System.out.println(strb1); // cba} }length方法演示
public class StringBuilderDemo1 {public static void main(String[] args) {StringBuilder strb1 = new StringBuilder();strb1.append("a").append("b").append("c");System.out.println(strb1.length()); // 3} }toString方法使用
StringBuilder只是拼接字符串的手段, 最終的結果還是要恢復成String類型, 我們就可以調用toString方法恢復成String類型
public class StringBuilderDemo1 {public static void main(String[] args) {StringBuilder strb1 = new StringBuilder();strb1.append("a").append("b").append("c");// 調用toString方法恢復成String類型strb1.toString();System.out.println(strb1); // abc} }小結:
為什么拼接、反轉字符串建議使用StringBuilder?
String的內容是不可變的、拼接字符串性能差。
StringBuilde的內容是可變的、拼接字符串性能好、代碼優雅。
StringBuilder和StringBuilder如何選擇?
定義字符串使用String
拼接、修改等操作字符串使用StringBuilder
StringBuilder的API練習
需求:
設計一個方法用于輸出一個任意整型數組的字符串,要求輸出成如下格式:
“該數組內容為:[11, 22, 33, 44, 55]”
分析:
1、定義一個方法,要求該方法能夠接收數組,并輸出數組內容。 —> 需要參數嗎?需要返回值類型申明嗎?
2、定義一個靜態初始化的數組,調用該方法,并傳入該數組。
代碼展示
public class StringBuilderDemo2 {public static void main(String[] args) {int[] arr1 = null;System.out.println(getString(arr1));int[] arr2 = {101, 119, 120, 143};System.out.println(getString(arr2));}public static String getString(int[] arr) {if (arr == null) return null;StringBuilder strb = new StringBuilder("[");for (int i = 0; i < arr.length; i++) {strb.append(arr[i]).append(i == arr.length - 1 ? "": ", ");}strb.append("]");return "該數組內容為: " + strb.toString();} }總結
以上是生活随笔為你收集整理的Java API - StringBuilder的常用API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: whois信息收集企业备案信息
- 下一篇: IT 公司的(大)前端团队体系都是怎样的