java的StringBuilder、Stringjoiner

article/2025/9/15 14:27:11

一、StringBuilder
StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。作用是提高字符串的操作效率。
注意:使用String创建字符串对象时,是不能改变字符串的内容的,例如:

String s1 = "aaa";
String s2 = "aaa"+"bbb"+"ccc"+"ddd";

上述代码中,s1的内容为"aaabbbcccddd",在这个过程中,是先创建了"aaa"字符串,再创建"aaabbb"字符串,再创建"aaabbbccc"字符串,再创建"aaabbbcccddd"字符串,虽然最终s1的内容为"aaabbbcccddd",但却产生了很多用不到的字符串,占用内存空间。而如果使用StringBuilder对象对字符串内容进行改变,都只有一个StringBuilder对象,效率更高。
StringBuilder的构造方法:
在这里插入图片描述
例如:

StringBuilder sb = new StringBuilder("abc");

StringBuilder的成员方法:
在这里插入图片描述
注:StringBuilder的底层做了一些特殊处理,打印对象不是地址值而是属性值。
在这里插入图片描述
在这里插入图片描述
注意:StringBuilder对象.reverse()调用时StringBuilder对象内容直接发生变化,不用将返回值赋给StringBuilder对象。
说明:使用StringBuilderd的场景
(1)字符串的拼接;
(2)字符串的反转。
补充:StringBuilder的默认容量(长度)为16(可保留16个字符),当存入的数据超过默认容量,则进行扩容,新容量=老容量*2+2.如果存入的数据超过了扩容之后的长度,则以实际为准。例如,往StringBuilder对象中添加长度为30的数据,则StringBuilder对象从16扩容到34,若往StringBuilder对象中添加长度为36的数据,则StringBuilder对象从16扩容到36.

二、StringJoiner
StringJoiner和StringBuilder一样,也是一个容器,创建之后里面的内容是可变的。作用是提高字符串的操作效率,而且代码编写特别简洁,是在JDK8之后出现的,市场上很少有人用。
构造方法:
在这里插入图片描述
成员方法:
在这里插入图片描述
补充:StringBuilder对象.capacity()可获取StringBuilder对象的容量。
注意:add()方法只能添加字符串。
例子:
在这里插入图片描述
在这里插入图片描述
注意:字符串中的逗号后面又空格。
在这里插入图片描述
三、


http://chatgpt.dhexx.cn/article/K0di1qqK.shtml

相关文章

swing的JTextField的介绍及其使用方法

:JTextField的(文本框)使用: JTextField 是一个轻量级组件,它允许编辑单行文本。 1.JTextField的常用构造方法: JTextField() 构造一个新的 TextField。 JTextField(int columns) 构造一个具有指定列数的新的空 TextField。 JTextField(String text) 构造一个用…

十字链表简介与实现(Java)

十字链表简介与实现(Java) 结构实现 结构 十字链表存储有向图(网)的方式与邻接表有一些相同,都以图(网)中各顶点为首元节点建立多条链表,同时为了便于管理,还将所有链表…

Java输出一个*号十字架

总共9行 每一行4个空格除了第五行不要空格 每一行1个*除了第五行需要9个* 利用for的循环嵌套方法,用三个for 从上往下 第一个for代表行数,第二个for代表空格数,第三个for代表输出的*数 做法如下:

Java 写一个简单的"十字"

如何用代码写出十字? 首先创建一个新的Package,如图: 取一个com.➕名字缩写和日期,下一行写public class 类名,后面加上一个{ },在它的中间写上public static void main(String[] args){, 如图&#xff1a…

JTextField的部分常用使用方法

本篇文章将会教会大家如何使用JTextField输入框 1.创建JTextField和添加 //创建输入框 JTextField jTextField new JTextField(); //将标签添加到面板里 jPanel.add(jTextField);2设置JTextField大小坐标 //设置输入框大小 jTextField.setSize(300,100); //设置输入框坐标…

Exists 用法解释

exists的实例解析 现有两个表 a: b: 现有sql语句如下 select * from a where exists (select 1 from b where b.b_id a.id); 执行结果如下: 含义解析:exists 的意思是用于检查子查询是否至少会返回一行数据,该子查询实际上并不…

MySQL中的EXISTS用法

EXISTS 语法: SELECT 字段 FROM table WHERE EXISTS (subquery); 参数: subquery是一个受限的SELECT语句(不允许有COMPUTE子句和INTO关键字) 示例: SELECT * FROM A WHERE EXISTS (SELECT 1 FROM B WHERE B.id …

EXISTS用法

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False 方法/ 1 EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False EXISTS 指定一…

hivesql中 exists 用法

有一次面试的时候,面试官问了这么一个场景题:一家门店一个月内每位顾客访问的目的可能有多种,并给到访顾客的目的打标签1、2、3、4这四类,现在要统计这家门店一个月内没有3、4标签的顾客明细。(也就是顾客到访标签只有…

mysql中not exists用法_not exists用法

not exists是sql中的一个语法,常用在子查询和主查询之间,用于条件判断,根据一个条件返回一个布尔值,从而来确定下一步操作如何进行,not exists也是exists或in的对立面。 not exists 是exists的对立面,所以要了解not exists的用法,我们首先了解下exists、in的区别和特点:…

Hive exists 用法

where exists(select c2/1/*/key2 from tb2 where tb2.key2 = tb1.key1) exists()中的select后面跟其他字段也行,where后面用关联字段即可! selec * : in :

SQL中EXISTS的用法

比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和Compan…

在Android手机上使用MACE实现图像分类

前言 在之前笔者有介绍过《在Android设备上使用PaddleMobile实现图像分类》,使用的框架是百度开源的PaddleMobile。在本章中,笔者将会介绍使用小米的开源手机深度学习框架MACE来实现在Android手机实现图像分类。 MACE的GitHub地址:https://…

Ubuntu 16.04 下编译小米mace源码依赖库,跑在android板子上

https://blog.csdn.net/qq_27063119/article/details/81015227 以上链接是编译mace源码的基础步骤,下面我叙述一下本人编译所踩过的坑 1、编译过程中所需要的依赖必须全部安装,就算你一开始并没有用到的依赖,到后面还是会用到,还…

比拼三大移动端深度学习框架,小米MACE有哪些优势?

采访嘉宾 | 何亮亮 AI前线导读: 随着深度学习领域的快速发展,以及移动端芯片计算能力的逐步提升,设备端上的深度学习推理正在变成一个巨大的需求和趋势,一个好用的深度学习框架成为深度学习应用落地的关键。小米团队打造的MACE (…

小米开源框架mace android案例调试

小米开源框架mace android案例调试 1. 准备工作 编译环境准备:请参照小米官方的文档: https://mace.readthedocs.io/en/latest/installation/env_requirement.html Required dependencies SoftwareInstallation commandTested versionPython 2.7Bazelba…

MACE的环境搭建——conda实现

1. MACE 主页 MACE 的github地址:https://github.com/XiaoMi/mace 小米官方的相关文档:https://mace.readthedocs.io/en/latest/ 对开发环境的要求,可以按照以下指令安装相关的包: 2. 创建虚拟环境并安装常见的包 (1) 创建虚拟环境…

小米开源自研移动端深度学习框架MACE

小米人工智能与云平台副总裁崔宝秋博士在开源中国开源世界高峰论坛上发表《小米 AI 时代的开源》演讲,并在会上宣布,开源小米自研的移动端深度学习框架 Mobile AI Compute Engine (MACE)。 6 月 28 日,小米人工智能与云平台副总裁崔宝秋博士在…

小米开源框架MACE 源码阅读笔记

转载自 https://www.jianshu.com/p/7061fd67d419 前扯 在前不久的某高峰论坛上,小米开源了其移动端的深度学习框架Mobile AI Compute Engine(MACE)。这对于很多致力于嵌入式端优化的人来说,无疑是巨大的惊喜(新坑出现&…

Mace-micro引擎编译与测试

官方简介 Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台(支持Android, iOS, Linux, Windows)优化的神经网络计算框架。 主要从以下的角度做了专门的优化: 性能 代码经过NEON指令,OpenCL以及Hexagon HVX专门优化,并且采用W…