在 Java 當中,有很多字串串接的方法
最簡單的就是直接用 + 串起來
如:
String S1 = "A" + "B";
也可以用 concat 方法
如: String S2 = S1.concat("C");
或是透過 StringBuilder
如:
StringBuilder sb = new StringBuilder("A");
sb.append("B");
以下分別測試從 1 串接到 k 的執行效率
(以執行時間做區別)
String 是固定長度的型別
更改長度就是 new 新對象的概念
會消耗許多資源
相比之下,StringBuilder 就像一個容器
可以輕易地將字串增長或減短
也是在針對同一個對象
因此在 k 值愈大的時候
方法之間的執行效率顯而易見
而 String 與 StringBuilder 轉換也很容易
String -> StringBuilder:
宣告一個物件,參數放字串
StringBuilder sb = new StringBuilder("A");
StringBuilder -> String:
用 toString 方法
System.out,println(sb.tostring());
參考資料:
1. Charles的崩潰人生: Java String、StringBuffer、StringBuilder的差別
2. String、StringBuilder與StringBuffer 的差別@ 愛迪生的異想世界:: 痞客邦::
最簡單的就是直接用 + 串起來
如:
String S1 = "A" + "B";
也可以用 concat 方法
如: String S2 = S1.concat("C");
或是透過 StringBuilder
如:
StringBuilder sb = new StringBuilder("A");
sb.append("B");
以下分別測試從 1 串接到 k 的執行效率
(以執行時間做區別)
String 是固定長度的型別
更改長度就是 new 新對象的概念
會消耗許多資源
相比之下,StringBuilder 就像一個容器
可以輕易地將字串增長或減短
也是在針對同一個對象
因此在 k 值愈大的時候
方法之間的執行效率顯而易見
而 String 與 StringBuilder 轉換也很容易
String -> StringBuilder:
宣告一個物件,參數放字串
StringBuilder sb = new StringBuilder("A");
StringBuilder -> String:
用 toString 方法
System.out,println(sb.tostring());
參考資料:
1. Charles的崩潰人生: Java String、StringBuffer、StringBuilder的差別
2. String、StringBuilder與StringBuffer 的差別@ 愛迪生的異想世界:: 痞客邦::
留言
張貼留言