1. 先看案例代码如下:
package cn.itcast_07; /*
* 把数组拼接成一个字符串
*/
public class StringBufferTest2 {
public static void main(String[] args) {
// 定义一个数组
int[] arr = { 44, 33, 55, 11, 22 }; // 定义功能
// 方式1:用String做拼接的方式
String s1 = arrayToString(arr);
System.out.println("s1:" + s1); // 方式2:用StringBuffer做拼接的方式
String s2 = arrayToString2(arr);
System.out.println("s2:" + s2);
} // 用StringBuffer做拼接的方式
public static String arrayToString2(int[] arr) { //一直使用一个StringBuffer字符串缓冲区对象,节省内存开销
StringBuffer sb = new StringBuffer(); sb.append("[");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
sb.append(arr[x]);
} else {
sb.append(arr[x]).append(", ");
}
}
sb.append("]"); return sb.toString();
} // 用String做拼接的方式
public static String arrayToString(int[] arr) { //开辟了多个字符串常量内存,浪费开销
String s = ""; s += "[";
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
s += arr[x];
} else {
s += arr[x];
s += ", ";
}
}
s += "]"; return s;
}
}
运行结果如下: