String Class - StringBuffer 和 StringBuilder - Java

前言
StringBuffer 、 StringBuilder、 String 是三种数据类型
首先来回顾下String类的特点:
任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指
向而已。
通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和
StringBuilder类。

再来说 StringBuffer 和 StringBuilder ,从内部的方法上来说:大同小异,基本一致。
 

StringBuilder

我们先直接new 个 StringBuilder,看个效果

 

既然发现直接使用,没有现象,那么我们就来传参。

第一种 直接传参

 

疑问由此而生,sb 是一个引用,存储的地址,那么它怎么 就可以打印"abcdef"呢?
这是因为 sout(System.out,println) 调用的是 sb 引用类型的 toString。
那么我们 Ctrl+左键,进入 StringBuilder 类型中

 那么我们就可以这么去写,因为它的返回值本身就是 String

第二种,通过append方法去添加

附图

这是我们再 append 一个字符串时,会发生怎么的效果

ppend 可以连用。

语法: append().append();

小知识点:

把字符串转变成StringBuilder类型/StringBuffer类型,必须调用对应的构造方法

StringBuilder类型/StringBuffer类型 转变成 String类型,调用 toString 方法

面试题:请解释String、StringBuffer、StringBuilder的区别
String 的内容不可修改,StringBuffer 与 StringBuilder的内容可以修改
StringBuffer 与 StringBuilder 大部分功能是相似的
StringBuffer 采用同步处理(synchronized),属于线程安全操作;而 StringBuilder 未采用同步处理(synchronized),属于线程不安全操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值