java的StringBuilder、Stringjoiner

news2024/11/17 11:35:51

一、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://www.coloradmin.cn/o/636939.html

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

相关文章

【解决MySQL-jdbc连接问题】com.mysql.jdbc.Driver was not found, trying direct instantiat

启动服务时出现报错 com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassNamecom.mysql.jdbc.Driver was not found, trying direct instantiation.而且接口有时候能访问成功,有时候的超时连接,异常的慢 经查询&#xff0c…

BUUCTF Alice与Bob 1

题目描述: 密码学历史中,有两位知名的杰出人物,Alice和Bob。他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底。就像在数学王国中的素数一样,孤傲又热情。下面是一个大整数:98554799767,请分解…

HTMLCSS Day03 CSS字体及文本样式

文章目录 1.文本属性- 颜色属性在CSS中如何通过color属性来修改文字颜色英文单词rgbrgba十六进制 - font-style 用于打开和关闭斜体文本- font-weight 为字体设置粗细程度- font-size 为文字指定大小- font-family 为文字指定特殊的字体,浏览器只会使用浏览器可以访…

动态规划dp —— 23.等差数列划分

1.状态表示 是什么?dp表中里的值所表示的含义就是状态表示 dp[i]表示:以i位置为结尾的所有子数组中有多少个等差数列 2.状态转移方程 dp[i] 等于什么 以i位置为结尾的等差数列,也就是说i位置必须和i-1,i-2位置构成等差数列&am…

98.实战网页构建定价部分-第一节

通过之前的文章我们实现如下的页面&#xff1a; ● 这节课我们来完成价目的部分 <section class"section-pricing"><div class"container"><span class"subheading">定价</span><h2 class"heading-secondary…

目前音质好的几款音频功放芯片

“音频功率放大器”简称音频功放&#xff0c;是扩声系统不可缺少的音响设备&#xff1b;是指把来自音源或前级放大器输出的弱信号放大并推动一定功率的音箱发出声音的集成电路。 音频功放可分为模拟功放和数字功放&#xff0c;传统模拟功放主要有A、AB、B、G类等&#xff0c;区…

vscode 实时同步代码到远程服务器

&#xff08;1&#xff09;在本地新建一个工程文件夹quant&#xff0c;将要同步的文件或者代码或文件夹放到quant里面&#xff1a; &#xff08;2&#xff09;创建sftp配置 使用 ctrlshiftp 快捷键调出输入框&#xff0c;选择 SFTP:Config 回车 会在 .vscode 目录下创建一个 s…

实验篇(7.2) 11. 创建点对点安全隧道(FortiGate-IPsec) ❀ 远程访问

【简介】前面我们实验的是FortiClient客户端与防火墙进行VPN连接&#xff0c;现在我们要做的实验是防火墙与防火墙之间进行VPN连接。现在我们来看看两台防火墙之间要怎样创建VPN连接。 实验要求与环境 OldMei集团深圳总部部署了域服务器和ERP服务器&#xff0c;用来对集团总部进…

基于Java+Spring+vue+element实现唯美鲜花商城购物系统

基于JavaSpringvueelement实现唯美鲜花商城购物系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文…

unocss 基础用法

一、什么是unocss unocss是一个即时的原子CSS引擎&#xff0c;它可以让你用简短的类名来控制元素的样式&#xff0c;而不需要写复杂的CSS代码。 当然&#xff0c;原子样式也有很多选择&#xff0c;最著名的就是 Tailwind。 但由于Tailwind 会生成大量样式定义&#xff0c;会导…

C语言函数的函数名和参数

VC6新建单文档工程&#xff1b; 视类添加2个函数&#xff1b; int getmax(int a,int b) {return a>b?a:b; }int two(int a) {return a * 2; } 调用&#xff0c;输出&#xff0c; void CMingView::OnDraw(CDC* pDC) {CMingDoc* pDoc GetDocument();ASSERT_VALID(pDoc);…

Segment-Anything的一些相关论文总结

1、 Segment Anything Model (SAM) Enhanced Pseudo Labels for Weakly Supervised Semantic Segmentation Tianle Chen, Zheda Mai, Ruiwen Li, Wei-lun Chao https://arxiv.org/abs/2305.05803 图像级监督的弱监督语义分割(WSSS)由于其标注成本较像素级标注低而受到越来越…

基于react18.x和router v6创建一个简单的静态页面

基于react18.x和router v6创建一个简单的静态页面 效果示例图README.md学习网站创建项目安装react-router-dom v6依赖安装scss 项目目录路由router/index.jsApp.jsindex.js路由地址错误&#xff0c;打开404页面页面docs/index.jsx页面tutorial/index.jsx 效果示例图 README.md …

fio下发的请求大小不确定

fio下发的请求大小不确定 问题描述调用栈回顾nvme_set_queue_limits函数研究内核调用栈 问题描述 fio --filename/dev/xxx_dev --direct1 --rwwrite --bs1M --ioenginelibaio --iodepth1 --runtime60 --numjobs1 --time_based --group_reporting --name"test xxx" -…

第一课 django后端框架初始和安装

这里写目录标题 django是什么django 发展历史:django主要组件django的应用场景django的官网如下django的安装 django是什么 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 django 发展历史: Django 是从真实世界的应用中成长起来的&#xff0c;它是由堪萨斯…

你知道微信的转账是可以退回的吗

微信作为当今最受欢迎的即时通讯软件之一&#xff0c;其转账功能得到了广泛的应用。在使用微信转账时&#xff0c;我们可能会遇到一些问题&#xff0c;例如误操作、支付失败或者需要退款等等。 首先需要注意的是&#xff0c;微信转账退回的操作只能在“一天内未确认”时进行。如…

亚马逊美国站 幼儿床CPC认证 亚马逊审核标准ASTM F1821检测报告

婴儿床的作用 1、孩子单独睡觉可以锻炼他的独立能力&#xff1b; 2、与父母分开睡对孩子的呼吸好&#xff0c;空气流通的好&#xff0c;比较清新&#xff1b; 3、晚上睡觉时大人会压到宝宝&#xff0c;或者大人盖被子时可能不小心蒙住孩子的头&#xff0c;这都是非常危险的&…

数据存储:MySQL之MVCC

MVCC(Mutil-Version Concurrency Control)&#xff0c;中文翻译为多版本并发控制。 MVCC只在repeatable read和read committed两个隔离级别下工作。其他两个隔离级别和MVCC不兼容。因为READ UNCOMMITTED 总是读取最新版本的数据&#xff0c;而不是符合当前事务版本的数据快照。…

势不可挡!实景三维新技术“踏足”新疆热土!

6月6日&#xff0c;众所瞩目的“全自主、全流程、全覆盖”2023实景三维新技术报告会乌鲁木齐站重磅召开。来自传统测绘、应急管理、水利、建筑工程等行业200多位专家、同仁、行业精英齐聚祖国西北边陲热土&#xff0c;共同交流实景三维新技术发展新趋势。 新疆维吾尔自治区测绘…

【Android开发基础】SQLite开发复刻通讯录、记事本、计算机

文章目录 一、引言二、设计1、通讯录&#xff08;1&#xff09;效果&#xff08;2&#xff09;思路&#xff08;3&#xff09;实现 2、记事本&#xff08;1&#xff09;效果&#xff08;2&#xff09;思路&#xff08;3&#xff09;实现 三、附件1、计算器UI界面设计2、源代码 …