用String和StringBuffer将数组转化成字符串两种方法比较

A:StringBuffer类概述

通过JDK提供的API,查看StringBuffer类的说明

线程安全的可变字符序列

B:StringBuffer和String的区别

String是一个不可变的字符序列

StringBuffer是一个可变的字符序列

用String和StringBuffer将数组转化成字符串两种方法比较
在这里插入图片描述
思路
在这里插入图片描述
String的方法

 int [] arr = {1,2,3};
        String s3 = "[";

        for (int i = 0;i < arr.length ;i++){
            if (i == arr.length - 1){
                s3 = s3 + arr[i]  + "]";
            }
            else{
                s3 = s3 + arr[i] + ",";
            }

        }


StringBuffer的方法
好处String会产生垃圾,StringBuffer不会,只会创建一个对象.因为最后输出的结果才是想要的,之前的结果都会成为垃圾,消耗内存,故应该用StringBuffer。

public class change {
    public static void main(String[] args) {
        int[] arr = {1 , 2 , 3};
        System.out.println (arrayToString (arr));		//输出结果
    }

    public static String arrayToString(int[] arr) {
        StringBuffer sb = new StringBuffer ( );  //创建字符串缓冲对象
        sb.append ("[");    //将[添加到缓冲区
        for (int i = 0; i < arr.length; i++) {  //遍历数组
            //sb.append(arr[i] + ",");  //这样没有],同时产生了更多的垃圾。
            if (i == arr.length - 1) {
                sb.append (arr[ i ]).append ("]");
            } else {
                sb.append (arr[ i ]).append (", ");
            }
        }
        return sb.toString ();	//返回结果
    }
}




发布了55 篇原创文章 · 获赞 5 · 访问量 4176

猜你喜欢

转载自blog.csdn.net/qq_43654669/article/details/100012675