StringJoiner

1、为什么要学习StringJoiner?

2、StringJoiner概述

  • StringJoiner跟StringBuilder一样,也可以看成一个容器,创建之后里面的内容是可变的。

2.1、作用

  • 提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用。
  • JDK8出现的一个可变的操作字符串的容器,可以高效,方便的拼接字符串。在拼接的时候,可以指定间隔符号,开始符号,结束符号。

3、StringJoiner的构造方法

方法名说明
  • public StringJoiner(间隔符号)
  • 创建一个StringJoiner对象,指定拼接时的间隔符号
  • public StringJoiner(间隔符号,开始符号,结束符号)
  • 创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号

4、StringJoiner的成员方法

方法名说明
  • public StringJoiner add(添加的内容)
  • 添加数据,并返回对象本身
  • public int length()
  • 返回长度(字符出现的个数)
  • public String toString()
  • 返回一个字符串(该字符串就是拼接之后的结果)
package stringdemo;import java.util.StringJoiner;public class StringJoinerTest {public static void main(String[] args) {StringJoiner sj = new StringJoiner("---");sj.add("aaa").add("bbb").add("ccc");System.out.println(sj);StringJoiner sj1 = new StringJoiner(",", "[", "]");sj1.add("aaa").add("bbb").add("ccc");System.out.println(sj1);int length = sj1.length();System.out.println(length);String string = sj1.toString();System.out.println(string);}
}D:\Java\jdk-17\bin\java.exe "-javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar=4473:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\Exception stringdemo.StringJoinerTest
aaa---bbb---ccc
[aaa,bbb,ccc]
13
[aaa,bbb,ccc]Process finished with exit code 0

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

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

相关文章

银行家算法

1.设计目的与要求 1.1设计目的 了解银行家算法中使用的数据结构和求安全序列算法,并进一步加深对避免死锁算法及其实现过程的理解。 1.2设计要求 通过编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法&a…

2023.8.7论文阅读

文章目录 CMUNeXt: An Efficient Medical Image Segmentation Network based on Large Kernel and Skip Fusion摘要本文方法实验结果 Boundary Difference Over Union Loss For Medical Image Segmentation(损失函数)摘要本文方法实验结果 CMUNeXt: An E…

回归预测 | MATLAB实现基于PSO-LSSVM-Adaboost粒子群算法优化最小二乘支持向量机结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于PSO-LSSVM-Adaboost粒子群算法优化最小二乘支持向量机结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于PSO-LSSVM-Adaboost粒子群算法优化最小二乘支持向量机结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考…

【基础操作】Linux打开terminal,Anaconda默认进入的虚拟环境(python版本)设置(自行指定)

为了免除每次打开terminal都要输入 conda activate … 的麻烦,可以这么设置。 1. 打开terminal,然后输入命令 vim ~/.bashrc2. 然后在文件末尾添加 conda activate your_envs # your_envs是你的虚拟环境名称3. 保存退出,重新打开就成功啦…

navicat连接postgresql报错

navicat连接postgresql报错 navicat连接postgresql报错 现象 有小伙伴告诉我 安装了新的postgresql 使用navicat连接,报错 ERROR: column "datlastsysoid" does not existLINE 1: SELECT DISTINCT datlastsysoid FROM pg database column “datlastsy…

Go 语言类型转换的陷阱

1 介绍 Go 语言作为强类型语言,在使用 Golang 开发项目时,经常会遇到类型转换的场景,整型之间可以直接转换,字节切片和字符串之间也可以直接转换。 但是,如果整型和字符串之间做类型转换,则需要使用 str…

.netcore grpc客户端流方法详解

一、客户端流式处理概述 客户端流式处理方法在该方法没有接收消息的情况下启动。 requestStream 参数用于从客户端读取消息。 返回响应消息时,客户端流式处理调用完成。客户端可以发送多个消息流到服务端,当所有客户端消息流发送结束,调用请…

SpringBoot案例-部门管理-修改

目录 前言 查看页面原型,明确需求 页面原型 需求 阅读接口文件 思路分析 功能接口开发 控制层(Controller类) 业务层(Service类) 业务类 业务实现类 持久层(Mapper类) 接口测试 前…

Day 41

Day 41 343. 整数拆分 一个是j * dp[i - j],相当于是拆分(i - j),对这个拆分不理解的话,可以回想dp数组的定义。 dp[i] max({dp[i], (i - j) * j, dp[i - j] * j}); class Solution:def integerBreak(self, n: int) -> int:dp [0] *…

离线环境conda虚拟环境备份迁移--conda pack问题

1.第一步:创建虚拟环境 conda create -n pyenv --clone base 或者 conda create -n pyenv python3.8.5 --offline 命令执行结束,在路径/xxxx/anaconda/envs 下看到pyenv 或者 conda info --envs 查看罗列虚拟环境 2.第二步:打包环境 conda …

ROS2 学习(一)介绍,环境搭建,以及个人安装的一些建议

ROS2 学习 学习自b站课程:https://www.bilibili.com/video/BV16B4y1Q7jQ?p1 (up主:古月居GYH) ROS 介绍 Robot OS,为机器人开发提供了相对完善的 middleware,工具,软件等。 ROS1 对嵌入式设…

计算机网络(7) --- UDP协议和TCP协议

计算机网络(6) --- https协议_哈里沃克的博客-CSDN博客https协议https://blog.csdn.net/m0_63488627/article/details/132112683?spm1001.2014.3001.5501 目录 1.补充知识 1.PORT端口号 2.端口号范围划分 3.知名端口号 2.UDP协议 1.UDP报头 2.U…

容器逃逸Docker cp(CVE-2019-14271)漏洞复现与分析

目录 安装 原理 EXP 参考 安装 metarget安装有点问题,所以我们直接指定安装 可以用下面命令 查看包 apt-cache madison docker-ce 安装 apt-get install -y docker-ce5:19.03.0~3-0~ubuntu-bionic 原理 EXP metarget/writeups_cnv/docker-cve-2019-14271 at …

Insert 1, Insert 2, Insert 3, ... 2023牛客暑期多校训练营8 H

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;给出一个长度为n的数组a&#xff0c;问有多少子串满足其可以用多个排列穿插构成 1<n<1e6 思路&#xff1a;因为每个排列的起点都是1&#xff0c;所以我们大致的策略就是对于每一个1&#xff0c;记录它往右最…

BGP小综合

实验题目如下&#xff1a; 实验拓扑如下&#xff1a; 实验要求如下&#xff1a; 【1】R2-7每台路由器均存在一个环回接口用于建立邻居&#xff0c;同时还存在一个环回来代表连接用户的 接口;最终这些连接用户的接口网络需要可以和R1/8的环回通讯 【2】AS2网段地址1…

基于smardaten无代码开发智能巡检系统,让无人机飞得更准

目录 引言需求背景搭建思路开发过程&#xff08;1&#xff09;无人机设备数据接入&#xff08;2&#xff09;无人机巡检任务管理&#xff08;3&#xff09;无人机三维防控监视&#xff08;4&#xff09;运防一体化大屏设计&#xff08;5&#xff09;异常告警管理&#xff08;6&…

面试总结-webpack/git

说说你对webpack的理解 webpack 是一个静态模块打包器&#xff0c;整个打包过程就像是一条生产线&#xff0c;把资源从入口放进去&#xff0c;经过一系列的加工&#xff08;loader&#xff09;&#xff0c;最终转换成我们想要的结果&#xff0c;整个加工过程还会有监控&#x…

公共服务领域:西安新小区业主自立业主委员会年底分红83万以及103万事件区块链资金透明监管与投票解决方案的尝试

公共服务领域:西安新小区业主自立业主委员会年底分红83万以及103万事件区块链资金透明监管与投票解决方案的尝试 作者 重庆电子工程职业学院 | 向键雄 杜小敏 前言 本项目想法来源于,西安新小区业主开出物业自立业主委员会年底分红83万以及103万事件,对于此类事件,我们刨…

微信小程序加载本地json和使用gulp压缩js

加载本地json 创建json.js, data 里是json内容,exports 是数据出口 var data = [ {json1},{json2},{json3},{json10} ....] module.exports = {listData = data } 使用 这个require后面的参数是入口文件的文件路径,但是注意必须是相对路径,不能绝对路径。 let json = re…

redis基础(三十六)

安装redis、配置redis 目录 一、 概述 &#xff08;一&#xff09;NoSQL 1、类型 2、应用场景 &#xff08;二&#xff09;Redis 二、安装 &#xff08;一&#xff09;编译安装 &#xff08;二&#xff09;RPM安装 三、目录结构 四、命令解析 五、redis登录更改 1、…