Java StringBuilder的用法示例

 更新时间:2021年01月17日 08:23:03   作者:爱学习的飞飞  
这篇文章主要给大家介绍了关于Java StringBuilder用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

StringBuilder简介

StringBuilder 最早出现在JDK1.5,是一个字符拼接的工具类,它和StringBuffer一样都继承自父类AbstractStringBuilder,在AbstractStringBuilder中使用char[] value字符数组保存字符串,但是没有用final关键字修饰,所以StringBuilder是可变的。

性能

StringBuilder 对字符串的操作是直接改变字符串对象本身,而不是生成新的对象,所以新能开销小。
与StringBuffer相比StringBuilder的性能略高(15%~30%),StringBuffer为保证多线程情况下的安全性(synchronize加锁)而牺牲了性能,以时间来换取安全。而StringBuilder则没有保证线程的安全,从而性能略高于StringBuffer。

使用场景

频繁使用字符串拼接的时候可以用StringBuilder(推荐)或者StringBuffer。

用法

一、StringBuilder对象的创建(下文builder是StringBuilder创建出来的对象)

1.常规创建

StringBuilder builder = new StringBuilder();

2.在创建的时候添加初始字符串

StringBuilder builder = new StringBuilder("abc");

3.在创建的时候添加初始长度

StringBuilder builder = new StringBuilder(初始长度);

这里需要注意的是如果在StringBuilder的对象创建时没有指定长度,StringBuilder对象会自动生成一个16位的字符数组

二、StringBuilder对象的方法

数据的种类可以有:


类型
Object
String
StringBuffer
CharSequence
char[]
boolean
char
int
long
float
double

1.builder.append()

作用:追加数据

		builder.append("just");

在加入新字符串时,不会在内存中新开辟字符串空间,只是给原有的字符串尾部加入新字符串

2.builder.insert()

作用:向指定位置插入数据

builder.insert(0, "you");

每次加入新字符串之后都会改变字符串中每个字符的地址

插入后原始指定位置的数据向后移

3.builder.deleteCharAt()

作用:删除指定位置的数据

builder.deleteCharAt(index);

4.builder.delete( )

作用:删除指定范围的数据左闭右开

builder.delete(beginIndex, endIndex);

范围:从开始位置到结束位置的前一个

5.builder.toString()

作用:将对象中的数据以字符串的形式返回

builder.toString();

6.builder.reverse()

作用:将对象中的数据反转

builder.reverse();

注意

原始数组长度不够时,在传入新字符串时会增加数组长度,并将原来的数据传到新数组中,反复添加遇到这种情况时会对内存造成损耗,为了避免这种情况,可以在创建时提前给StringBuilder对象设置长度:StringBuilder builder = new StringBuilder(初始长度)。

总结

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

相关文章

  • 优化SpringBoot程序启动速度的实现

    优化SpringBoot程序启动速度的实现

    本文主要介绍了优化SpringBoot程序启动速度的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 关于Java中反射机制的深入讲解

    关于Java中反射机制的深入讲解

    反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性,下面这篇文章主要给大家介绍了关于Java中反射机制的相关资料,需要的朋友可以参考下
    2018-08-08
  • JDK-StringJoiner构造及添加元素源码分析

    JDK-StringJoiner构造及添加元素源码分析

    这篇文章主要为大家介绍了JDK-StringJoiner构造及添加元素源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Spring Boot 2.X优雅的解决跨域问题

    Spring Boot 2.X优雅的解决跨域问题

    这篇文章主要给大家介绍了关于Spring Boot 2.X如何优雅的解决跨域问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot 2.X具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 从繁琐到简洁的Jenkins Pipeline脚本优化实践

    从繁琐到简洁的Jenkins Pipeline脚本优化实践

    这篇文章主要为大家介绍了从繁琐到简洁的Jenkins Pipeline脚本优化实践示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 详解Maven环境的搭建与idea配置

    详解Maven环境的搭建与idea配置

    本篇文章主要介绍了详解Maven环境的搭建与idea配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Java实现添加,读取和删除Excel图片的方法详解

    Java实现添加,读取和删除Excel图片的方法详解

    本文介绍在Java程序中如何添加图片到excel表格,以及如何读取、删除excel表格中已有的图片。文中的示例代码讲解详细,感兴趣的可以学习一下
    2022-05-05
  • Java基础篇之反射机制示例详解

    Java基础篇之反射机制示例详解

    反射是Java可以提供的一个灵活又强大的功能,使用Java反射,您可以知道这个类在运行时具有什么属性和方法,也可以修改属性,调用方法,创建类的实例,这篇文章主要给大家介绍了关于Java基础篇之反射机制的相关资料,需要的朋友可以参考下
    2021-11-11
  • 全面解析Java观察者模式

    全面解析Java观察者模式

    这篇文章主要帮助大家全面解析Java观察者模式,了解java设计模式中的观察者模式,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 一篇文章带你了解Java Spring基础与IOC

    一篇文章带你了解Java Spring基础与IOC

    这篇文章主要介绍了Java Spring基础与IOC,文中讲解的相关内容非常详细,也运用了大量的代码进行讲解,感兴趣的小伙伴可以参考一下
    2021-08-08

最新评论