Java中StringBuilder类的介绍与常用方法

 更新时间:2022年12月21日 09:00:53   作者:m1m-FG  
StringBuilder是一个可变的字符串的操作类,我们可以把它看成是一个对象容器,下面这篇文章主要给大家介绍了关于Java中StringBuilder类的介绍与常用方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

一、StringBuilder类介绍

  • StringBuilder也是lang包中的类,即java.lang.StringBuilder类。
  • 该类也是用来保存字符串的,它也是一个可变的字符序列。
  • StringBuilder类提供一个与StringBuffer类兼容的API(即StringBuffer类中有的方法StringBuilder类都有),但不保证同步(即StringBuilder不是线程安全)。
  • 该类被设计用作StringBuilder的一个简易替换,用在字符串缓冲区被单个线程使用的时候。(如果是单线程的设计,建议使用StringBuilder类)如果可能,建议优先使用该类,因为在大多数实现中,它比StringBuffer要快。
  • 在StringBuilder上的主要操作是append和insert方法,可以重载这些方法,以接收任意类型的数据。
package com.hspedu.Wrapper;
 
public class StringAndStringBuffer {
    public static void main(String[] args) {
        //1.StringBuilder 继承 AbstractStringBuilder 类
        //2.实现了 Serializable 接口,说明 stringBuilder 对象是可以串行化的(对象可以网络传输,可以保存到文件)
        //3.StringBuilder 类是final类,不能被继承
        //4.StringBuilder 对象字符序列仍然是存在它的父类 AbstractStringBuilder 中的 char[] value
        //因此,字符序列是在堆中
        //5.StringBuilder 的方法,没有做互斥处理,即没有 synchronized 关键字,因此在单线程情况下使用
        StringBuilder stringBuilder = new StringBuilder();
    }
}

二、StringBuilder类的体系图

 可以看出StringBuilder类的体系图和StringBuffer类一样,即StringBuffer类中有的方法在StringBuilder类中也有。那么为什么还要有StringBuilder类呢?

答:因为StringBuilder类用在单线程,StringBuffer类用在多线程中。

三、StringBuilder类的常用方法

和StringBuffer类一样,就不赘述了。

四、String类、StringBuffer类和StringBuilder类比较

1、效率比较

StringBuilder > StringBuffer > String

2、如何选择?

补充:String和StringBuilder之间的相互转换

1、String转换为StringBuilder;

public String toString():通过toString()就可以实现把StringBuilder转成String。

package stringBuilder.demo_2;

public class test06 {
	public static void main(String[] args) {
		StringBuilder sb = new StringBuilder();
		sb.append("hello").append("world");
		String s = sb.toString();
		System.out.println(s);
	}
}

2、StringBuilder转换成String;

StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder。

package stringBuilder.demo_2;

public class test06 {
	public static void main(String[] args) {
		String s = "hello";
		StringBuilder sb = new StringBuilder(s);
		System.out.println(sb);
	}
}

总结 

到此这篇关于Java中StringBuilder类的文章就介绍到这了,更多相关Java中StringBuilder类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis-Plus标签@TableField之fill自动填充方式

    MyBatis-Plus标签@TableField之fill自动填充方式

    这篇文章主要介绍了MyBatis-Plus标签@TableField之fill自动填充方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 详解JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)

    详解JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)

    这篇文章主要介绍了JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • maven 中relativePath标签的作用

    maven 中relativePath标签的作用

    元素在 Maven 的 pom.xml 文件中用于指定父项目的相对路径,这篇文章主要介绍了maven 中relativePath标签的作用,需要的朋友可以参考下
    2024-11-11
  • Springboot中基于X509完成SSL检验的原理与实现

    Springboot中基于X509完成SSL检验的原理与实现

    本文详细解析了HTTPS通信中SSL证书的作用和原理,SSL证书建立在客户端和服务器之间的安全通道,确保数据传输的完整性和保密性,详细的介绍了Springboot中基于X509完成SSL检验的原理与实现,感兴趣的可以了解一下
    2024-09-09
  • 解决IDEA报错java无效的目标发行版:22

    解决IDEA报错java无效的目标发行版:22

    在使用IDEA编译项目时,可能会遇到JDK版本不一致的错误,这篇文章主要介绍了解决IDEA报错java无效的目标发行版:22的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • java实现扑克牌分发功能

    java实现扑克牌分发功能

    这篇文章主要为大家详细介绍了java实现扑克牌分发,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • shardingJdbc3.x 版本的分页bug问题解析

    shardingJdbc3.x 版本的分页bug问题解析

    这篇文章主要为大家介绍了shardingJdbc3.x 版本的分页问题解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java实现购物管理系统

    Java实现购物管理系统

    这篇文章主要为大家详细介绍了Java实现购物管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • java的串口通信问题

    java的串口通信问题

    这篇文章主要介绍了java的串口通信问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot创建定时任务的示例详解

    SpringBoot创建定时任务的示例详解

    在Spring Boot中创建定时任务,通常使用@Scheduled注解,这是Spring框架提供的一个功能,允许你按照固定的频率(如每天、每小时、每分钟等)执行某个方法,本文给大家介绍了SpringBoot创建定时任务的示例,需要的朋友可以参考下
    2024-04-04

最新评论