stringbuilder_String,StringBuilder,StringBuffer三者的区别?

3cbc02df703e01ec449faa07aee76416.png

(1) 问题分析

考官主要想对final修饰符的作用,同步锁,以及数据类型的考察。在工作中为什么业务层频繁的拼接sql不用string而用StringBuilder,为什么Stringbuilder比StringBuffer效率高

(2) 核心答案讲解

String是引用类型,底层是被final修饰的字符数组,所以String相当于一个常量,是不可改变的,每拼接一次就会产生一个新的对象,而由于垃圾回收机制的原理,原有的对象不会立马被回收,这是对内存极大的消耗;而StringBuilder和StringBuffer 是可变长度的,可以利用append方法向原有对象拼接,然后用toString方法将其转化为String类型;这两个相比起来StringBuilder的效率更高,因为他是非线程安全的,不需要花费资源去维护同步锁。

(3) 问题扩展

Final修饰符的作用是什么?

在工作中你们如果在业务层去拼接sql,使用String类型去接收的吗?

(4) 结合项目中使用

在项目中如果频繁的拼接字符串需要用什么类型对象去接收

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值