02_使用API_String

StringBuilder
  • StringBuilder 代表可变字符串对象,相对于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的
  • 好处:StringBuilder 比 String 更适合做字符串的修改操作,效率会更高,代码也会更简洁
  • 注意:如果操作字符串较少,或者不需要操作,以及定义字符串变量,还是建议用 String
public class Test {public static void main(String[] args) {StringBuilder s1 = new StringBuilder();  // 对象 s1 当前没有任何内容,是""空的StringBuilder s2 = new StringBuilder("Jack");  // 对象 s2 当前是 "Jack"// 1. 拼接内容s2.append(666);s2.append("Java");s2.append(true);System.out.println(s2);  // 输出结果:Jack666Javatrue// 2. 支持链式编程s1.append(520).append("Java").append("哈哈哈");System.out.println(s1);  // 输出结果:520Java哈哈哈// 3. 反转操作s1.reverse();System.out.println(s1);  // 输出结果:哈哈哈avaJ025// 4. 返回字符串长度System.out.println(s2.length());  // 15// 5. 把StringBuilder对象,转换成String类型String s = s1.toString();System.out.println(s2);  // Jack666Javatrue}
}
StringBuffer
  • StringBuffer 的用法与 StringBuilder 是一模一样的
  • 但是 StringBuilder 是线程不安全的,StringBuffer 是线程安全的
  • StringBuffer 的使用和上面的方法一模一样,因而此处不再赘述。
StringJoiner
  • StringJoiner 是 JDK 8 才开始有的,跟 StringBuilder 一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的
  • 好处:不仅能提高字符串的操作效率,并且在有些场景下使用它操作字符串,代码会更简洁
import java.util.StringJoiner;public class Test {public static void main(String[] args) {StringJoiner s1 = new StringJoiner(",");s1.add("Java1");s1.add("Java2");s1.add("Java3");System.out.println(s1);  // >>> Java1,Java2,Java3StringJoiner s2 = new StringJoiner(",", "{* ", " *}");s2.add("string1");s2.add("string2");s2.add("string3");System.out.println(s2);  // >>> {* string1,string2,string3 *}}
}

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

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

相关文章

MacOS “xxxxx“,已损坏,无法打开,你应该将它移到废纸篓

在这里插入图片描述 解决方案 应用程序 - 实用工具中打开终端,输入命令, sudo xattr -r -d com.apple.quarantine 然后将程序拖放至命令窗口,如下图:

22. Spring源码篇之推断构造方法

简介 很多时候我们的构造器都不止一个,那么spring怎么选择的呢,签名介绍了推断构造方法的扩展点,可以使用Autowired注解去选择使用哪个构造器,但是即使这样也有可能有多个Autowired且required为false的构造器,那么还是…

QLineEdit响应editingFinished实现只响应一次

QLineEdit中editingFinished槽函数会在按下enter时响应两次,分别是按下enter和失去焦点的时候,为了能让 QLineEdit只响应其中一次,需定义一个全局变量m_bFlagEnter保存是否enter是否按下,按下后,则在失去焦点的时候做对…

Unity发布IOS后,使用xcode打包报错:MapFileParser.sh:Permissiondenied

1.错误提示 使用xcode打包错误提示:/Users/mymac/Desktop/myproject/MapFileParser.sh: Permission denied 2.解决方案 打开控制台输入:chmod ax /Users/mymac/Desktop/myproject/MapFileParser.sh。按回车键执行,然后重新使用xcode发布程序…

【开源】基于JAVA的在线课程教学系统

项目编号: S 014 ,文末获取源码。 \color{red}{项目编号:S014,文末获取源码。} 项目编号:S014,文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

机器学习之数据清洗和预处理

目录 Box_Cox Box_Cox Box-Cox变换是一种用于数据预处理和清洗的方法,旨在使数据更符合统计模型的假设,特别是对于线性回归模型。这种变换通过调整数据的尺度和形状,使其更加正态分布。 Box-Cox变换的定义是: y ( λ ) { y λ − 1 λ , i…

【深度学习】卷积神经网络(CNN)

一、引子————边界检测 我们来看一个最简单的例子:“边界检测(edge detection)”,假设我们有这样的一张图片,大小88: 图片中的数字代表该位置的像素值,我们知道,像素值越大&#…

QQ怎么备份聊天记录?3个方法教你快速备份!

QQ聊天记录作为用户和亲人、好友以及同事之间沟通的凭证,可以帮助我们回忆起过去的交流内容。如果我们不小心误删了QQ聊天记录或者更换了新手机,那么这时候就需要备份聊天记录。qq怎么备份聊天记录呢?本文将介绍3个简单方法,帮助您…

MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况

目录 一、索引 1.1、简单介绍 1.2、索引的分类 1.2.1、主键索引 1.2.2、单值索引(单列索引、普通索引) 1.2.3、唯一索引 1.2.4、复合索引 1.2.5、复合索引经典问题 1.3、索引原理 1.3.1、主键自动排序 1.3.2、索引的底层原理 1.3.3、B 树和 B…

创作4周年

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言机…

哈希表-set、map

当需要判断一个元素是否在集合中时,就使用哈希法 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。 哈希表中关键码就是数组的索引下标,然后通过…

Web框架Flask

Web框架Flask Flask简介第一个Flask应用Flask路由Flask路由变量规则Flask URL 构建Flask重定向Flask静态文件Flask渲染模板Flask请求对象Flask响应对象Flask CookiesFlask错误Flask JSON 格式的 APIFlask SessionFlask 消息闪现Flask日志Flask蓝图Flask视图Flask Jinja2 模板F…

微信消息提醒

有时候同事没有打开微信,重要的信息可以设置提醒

app小程序开发的重点在哪里?|企业软件定制网站建设

app小程序开发的重点在哪里?|企业软件定制网站建设 App小程序定制开发是近年来快速发展的一项技术服务,随着移动互联网的普及和用户需求的不断升级,越来越多的企业和个人开始关注和需求定制化的小程序开发。那么,对于app小程序定制…

Springboot_文件下载功能(前端后端)

遇到的问题: 文件下载后文件一直被破坏,无法正常打开文件名乱码,如图 刚开始一直在纠结,是不是后端没有写对,然后导致下载不能使用 后来搜索了一些资料,发现后端没什么问题 然后就开始找到其他项目对比…

头发的方向图(2D和3D)与合成

首先,我们从一个不受光照限制的环境中拍摄一组输入图像,这些图像包含了头发的不同视角和姿态。我们对这些图像进行半自动的分割,将头发从背景中分离出来,然后使用PMVS ,一种先进的多视角立体算法,来重建一个…

Qt 问题 判断QTreeWidget的子节点的父节点是否可见

bool JudgeParentItemVisible(QTreeWidgetItem * pLayerItem) {bool bVisible true;QTreeWidgetItem * pParentItem (QTreeWidgetItem *)pLayerItem->parent(); //获取父节点if (pParentItem ! NULL) //父节点不为空{if (pParentItem->checkState(0) Qt::CheckState::…

广播组播、本地套接字通信、wireshark、以太网帧格式、三次握手四次挥手

广播(使用 UDP 套接字) 广播地址:主机号最大的地址。 广播:给所在局域网的所有主机发送数据报。(之前的数据报发送方式是单播。) 以下情况中使用广播: 局域网 搜索协议。 比如家中的智能产品&a…

局域网共享打印机共享,简单至简至一键处理011bDll等问题

一、电脑系统是否激活(可选) 二、确保主客户端PC在同一局域网内(可选) 可以通过ping 目标地址 如ping 192.168.1.202;看是否可以正常通信 下面是惠普类型打印机共享问题关键(文本记得保存) …

Redisson 分布式锁的最佳实践

Redisson 分布式锁的最佳实践 第一、添加依赖第二、添加redisson配置类第三、添加测试类测试结果扩展知识redisson锁中lock方法和tryLock方法有什么区别锁续约 注意事项 引言 在现代分布式系统中,处理并发问题是至关重要的。分布式锁是解决这类问题的关键工具之一。…