比较String和StringBuffer的不同

在屏幕上打印一个由*组成的矩形,矩形的宽度和高度通过main函数传递。
实现代码如下:

public class TestInteger {
    public static void main(String[] args) {
        int w = new Integer(args[0]).intValue();
        int h = Integer.parseInt(args[1]);
        // int h = Integer.valueOf(args[1]).intValue();
        // 包括上面的注释是将字符串转化为整数的三种办法。
        for (int i = 0; i < h; i++) 
        {

            StringBuffer sb = new StringBuffer();
            for (int j = 0; j < w; j++) {
                sb.append('*');
            }
            System.out.println(sb.toString());
        }
    }
}

运行结果如下:

通过main函数传递的宽度和高度是字符串,要将它转化成整数有三种方法:

int w = new Integer(args[0]).intValue();
int h = Integer.parseInt(args[1]);
int h = Integer.valueOf(args[1]).intValue();

而实现*的连接有两种方法:
方法一:

String sb = new String();
for (int j = 0; j < w; j++) { sb = sb + '*'; }   

方法二:

StringBuffer sb = new StringBuffer();
for(int j=0;j<w;j++)
{ sb.append('*'); } 

方法二的执行效率比方法一的要高,因为方法一在每次将*连接到sb后时要先将sb的String转化成StringBuffer类型,之后再调用StringBuffer的append方法连接*,所以方法二比方法一效率更高。

你可能感兴趣的:(String,StringBuffer)