String创建对象的个数 & StringBuffer

String name1 = "Tom";  			//创建了一个String类型的对象
String name2 = "Lu"+"cy";	    //创建了一个String类型的对象(先拼接后创建对象,所以是一个)

String str = "Ja";
String name3 = str + "mes";		//这两行共创建了两个String类型的对象

String name4 = new String("Katty");//创建了两个String类型的对象(字符串"Katty"创建一个,new对象时又创建一个,共两个)

String letters = "a";
for(int i=1; i<=3; i++){
	letters = "a"+letters;
} 								//共创建了4个对象(刚开始创建一个对象,循环三次又创建了3个对象,因此一共创建了四个对象),
								//这样拼接的缺点就是不停地创建新对象,从而浪费内存

StringBuffer创建对象进行拼接时就不会再创建新对象,也就不会浪费太多的内存

StringBuffer name = new StringBuffer("ha");
for(int i=1; i<=3; i++){
	name.append("ha");					//拼接
}
System.out.println(name.toString());	//输出:hahahaha
System.out.println(name.length());		//返回字符的个数,此处输出:8
System.out.println(name.reverse());		//反转,此处输出:ahahahah

这几行代码一共只创建了name一个对象
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不动声色的小蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值