Java中的StringBuilder类

news2025/1/11 12:48:59

目录

一、介绍

二、StringBuilder类的体系图

三、StringBuilder的常用方法

 四、String、StringBuffer和StringBuilder比较

1、效率比较

2、如何选择?


一、介绍

  • StringBuilder也是lang包中的类,即java.lang.StringBuilder类。
  • 它也是一个可变的字符序列。StringBuilder类提供一个与StringBuilder兼容的API,但不保证同步(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、如何选择?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/94794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式原则-三-依赖倒转原则

设计模式原则---依赖倒转原则依赖倒转原则一 官方定义基本介绍二 案例演示普通方式实现**解决方案****案例分析****案例总结**依赖倒转原则方式实现**解决方案**案例分析**案例总结**注意事项&细节三 依赖关系传递方式一、通过接口传递二、通过构造方法传递三、通过set()方…

原来 Android 的 R 文件里还有这么多道道

前言 nonTransitiveRClass:非传递性 R 类的属性,在 gradle.properties 文件里使用。 不少开发者可能听过它,但了解可能仅限于是对 R 文件做了优化,甚至以为它可以解决资源冲突!但它到底做了什么优化、能否解决资源冲突…

Manacher算法

0、概括 Manacher算法用于求解字符串中最长回文子串问题。 Manacher算法的核心: 理解回文半径数组;理解所有中心的回文最右边界 R,和取得 R 时的中心点 C;理解 L...(i)...C...(i)...R 的结构,以及根据 i′ii′ 回文长…

C-RNN-GAN:具有对抗训练的连续循环神经网络2016--生成音乐

C-RNN-GAN: Continuous recurrent neural networks with adversarial training 2016 Abstract 生成对抗网络已被提出作为一种有效训练深度生成神经网络的方法。我们提出了一种生成对抗模型,它适用于连续的序列数据,并通过在古典音乐集合上训练它来应用它…

计算机毕设Python+Vue校园学生体温管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

相见恨晚,Git这些功能太好用了

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 作为一名开发者,想必绝大多数同学都无法绕开Git。 作为一款工具,我认为它和word、powerpoint、Excel这些办公工具一样。 对于一部分同学,会一些基本的用法&#x…

【经验帖】项目经理的核心价值:以目标为导向做正确的事

项目经理小李的年终汇报心路历程(心情犹如坐过山车,起起落落最后一蹶不振。) 汇报前: 终于到年终汇报的日子了,毕竟我负责的项目任务从来没有延期过,都是按时完成,这次肯定得加薪了&#xff01…

[附源码]Node.js计算机毕业设计公租房管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

module命名空间

为什么要有namespaced命名空间? 默认情况下,模块内部的action、mutation和getter都是在全局命名空间。 假设两个modules内部有同名的action、mutation和getter,则vuex会报错。 namespaced作用:保证模块内部的高封闭性,…

021 | 阴离子诱导的系列双核镝配合物的合成及磁性质 | 大学生创新训练项目申请书 | 极致技术工厂

研究目的 近十几年来,随着科技的飞速发展,单分子磁体材料涉及的应用领域越来越宽广。众所周知,单分子磁体材料作为信息存储的基础对信息产业的发展具有一定的意义。此外,单分子磁体在超高密度储存、自旋电子器件、量子计算机等领域…

旅游住宿网站

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 网站前台:网站介绍、帮助信息、旅游资讯。景点信息、酒店信息 管理员功能: 1、管理网站介绍、帮…

day22【代码随想录】在每个树行中找最大值、填充每个节点的下一个右侧节点指针、二叉树的最大深度、二叉树的最小深度

文章目录前言一、在每个树行中找最大值(力扣515)二、填充每个节点的下一个右侧节点指针(力扣116)三、二叉树的最大深度(力扣104)1、非递归求解2、递归求解四、 二叉树的最小深度(力扣111&#x…

【前端开发学习】4.JavaScript

文章目录1 JavaScript1.1 代码位置1.2 存在形式1.3 注释1.4 变量1.5 字符串类型案例:走马灯1.5 数组案例:动态数据1.6 对象(字典)案例:动态表格1.7 条件语句1.8 函数2 DOM2.1 事件绑定1 JavaScript 一门编程语言&…

第二证券|主力加仓电子、电气设备等行业 北向资金连续2日净流入

沪深两市股市涨跌互现,上证指数早盘震动下探,午后一度回升,尾盘再度回落;深证成指早盘探底回升,午后震动上扬,尾盘有所回落;创业板指早盘窄幅震动,午后震动上扬;科创50指…

D. Say No to Palindromes(构造 + 前缀和)

Problem - 1555D - Codeforces 如果这个字符串不包含一个长度至少为2的子串,我们就称它为美丽的字符串,这是一个回文。回顾一下,回文是指从第一个字符到最后一个字符以及从最后一个字符到第一个字符的读法相同的字符串。例如,字符…

京东物流 × StarRocks : 打造服务分析一体化平台Udata

作者:张栋,京东物流集团数据专家 京东集团 2007 年开始自建物流,2017 年 4 月正式成立京东物流集团,2021 年 5 月,京东物流于香港联交所主板上市。京东物流是中国领先的技术驱动的供应链解决方案及物流服务商&#xff…

Linux内核

内核属于操作系统的核心部分,它具有操作系统基本的功能,主要负责管理系统的内存、进程、设备驱动程序、文件系统和网络接口,因此,操作系统的性能和稳定性由内核决定。 1、内存管理 进程对内存的使用 计算机中所有要执行的程序都必…

大厂10年经验,我对Java高并发问题方案的总结,堪称教科书级

作为一个 Java 开发人员,多线程是一个逃不掉的话题,不管是工作还是面试,但理解起来比较模糊难懂,因为多线程程序在跑起来的时候比较难于观察和跟踪。 搞懂多线程并发知识,可以在面试的时候和周围人拉开差距&#xff0…

流媒体:依托于声网的连麦解决方案

一、背景 近些年,直播连麦这把火在流媒体领域整整燃烧了 6 年。从刚开始的简单探索,到现在的成熟全链路方案,不得不说日益增长的激烈竞争,已将让原本的蓝海领域变成了深海互搏。在这样的大环境下,是否意味着小厂将再也…

分布式系统(P2P Lookup)

文章目录P2P 系统NapsterBitTorrentGnutellaChordConsistent HashingSimple Key LocationScalable Key LocationKademliaRouting TableKademlia’s RPCAdaptabilityDistributed Hash TableP2P 系统 Peer to peer 系统: 每个结点在连接上是互联的,在功能…