比较String和StringBuffer的不同

来源:互联网 发布:淘宝有好货怎么收费 编辑:程序博客网 时间:2024/04/28 19:10

在屏幕上打印一个由*组成的矩形,矩形的宽度和高度通过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方法连接*,所以方法二比方法一效率更高。

1 0
原创粉丝点击