StringBuilder用法详解(6大常见方法)

StringBuilder用法详解(6大常见方法)-mikechen

StringBuilder经常用到字符串的连接,下面我就对Java StringBuilder的6大用法做一个完整的总结。

StringBuilder简介

StringBuilder是专门用来进行字符串拼接的,我们可以使用他来进行拼接字符串。

 

StringBuilder与StringBuffer比较

StringBuffer相比StringBuilder的性能略高(15%~30%),StringBuffer为保证多线程情况下的安全性(synchronize加锁)而牺牲了性能,以时间来换取安全。

而StringBuilder则没有保证线程的安全,从而性能略高于StringBuffer

 

StringBuilder常用方法

1、append方法

append方法用于拼接内容,将信息追加到当前 StringBuilder 的末尾。

代码示例如下:

public static void main(String[] args) {

       StringBuilder stringBuilder = new StringBuilder();
       stringBuilder .append("mike");
       stringBuilder .append("chen");
       System.out.println(stringBuilder );
   }

 

2、toString()方法

把StringBuilder转换为String类型,代码示例如下:

public static void main(String[] args) {

       StringBuilder stringBuilder = new StringBuilder();
       stringBuilder .append("mike");
       stringBuilder .append("chen");
       String s=stringBuilder.toString();
       System.out.println(s);
   }

 

3、insert方法

insert方法将字符串或对象插入到当前 StringBuilder 的指定索引中。

代码示例如下:

StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Insert(6,"Beautiful ");
Console.WriteLine(myStringBuilder);

输出为:

Hello Beautiful World!

 

4、replace方法

replace方法可用于将 StringBuilder 对象内的字符替换为另一个指定的字符。

代码示例如下:

StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Replace('!', '?');
Console.WriteLine(myStringBuilder);

输出为:

Hello World?

 

5、remove方法

remove方法从当前 StringBuilder 中删除指定数量的字符。

代码示例如下:

StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Remove(5,7);
Console.WriteLine(myStringBuilder);

输出为:

Hello

 

6、reverse()方法

reverse()方法用于将原字符串逆序。

代码示例如下:

StringBuilder sb=new StringBuilder("mikechen的互联网架构");
sb.reverse();
System.out.println(sb);

输出为:

构架网联互的nehcekim

 

 

 

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法