3.1. 字符串与StringBuilder

news/2024/12/11 20:48:16/

1. 字符串(String)

在Java中,字符串由String类表示。字符串是一系列字符的组合,用于表示文本数据。字符串是不可变的,这意味着一旦创建了一个字符串对象,就不能修改它的内容。

创建字符串

创建字符串的方式有两种:

  1. 直接使用双引号("")创建字符串字面量。例如:

     String str1 = "Hello, World!";```
    
  2. 使用new关键字创建一个String对象。例如:

     String str2 = new String("Hello, World!");

字符串的常用方法

String类提供了许多有用的方法来处理字符串。以下是一些常用方法:

  • length():返回字符串的长度。
  • charAt(int index):返回字符串中指定位置的字符。
  • substring(int beginIndex, int endIndex):返回从beginIndex(包括)到endIndex(不包括)之间的子字符串。
  • indexOf(String str):返回指定子字符串在字符串中第一次出现的位置的索引,如果未找到则返回-1。
  • lastIndexOf(String str):返回指定子字符串在字符串中最后一次出现的位置的索引,如果未找到则返回-1。
  • equals(Object obj):比较两个字符串是否相等,区分大小写。
  • equalsIgnoreCase(String anotherString):比较两个字符串是否相等,不区分大小写。
  • startsWith(String prefix):判断字符串是否以指定的前缀开始。
  • endsWith(String suffix):判断字符串是否以指定的后缀结束。
  • replace(CharSequence target, CharSequence replacement):将字符串中的target替换为replacement
  • toUpperCase():将字符串中的所有字符转换为大写。
  • toLowerCase():将字符串中的所有字符转换为小写。
  • trim():去掉字符串首尾的空白字符。

2. StringBuilder

StringBuilder是一个可变的字符序列,可以用于处理字符串拼接和修改。相比于String类,StringBuilder在处理大量的字符串操作时性能更高。

创建StringBuilder

创建StringBuilder对象的方法如下:

StringBuilder sb = new StringBuilder();

可以在创建时指定初始容量,例如:

StringBuilder sb = new StringBuilder(50);

StringBuilder的常用方法

StringBuilder类提供了许多有用的方法来处理字符串操作。以下是一些常用方法:

  • append(Object obj):将指定的对象的字符串表示形式追加到字符串构建器。
  • insert(int offset, Object obj):将指定的对象的字符串表示形式插入到字符串构建器的指定位置。
  • delete(int start, int end):从字符串构建器中删除指定范围内的字符。
  • replace(int start, int end, String str):用指定的字符串替换字符串构建器中指定范围内的字符。
  • reverse():反转字符串构建器中的字符顺序。
  • toString():将StringBuilder对象转换为String对象。

3. 示例

下面是一个使用StringStringBuilder类的示例:

public class Main {public static void main(String[] args) {// 创建字符串String str1 = "Hello, ";String str2 = "World!";// 字符串拼接String str3 = str1 + str2;System.out.println(str3); // 输出 "Hello, World!"// 创建StringBuilderStringBuilder sb = new StringBuilder();// 使用StringBuilder拼接字符串sb.append(str1);sb.append(str2);// 将StringBuilder对象转换为String对象并输出String str4 =sb.toString();System.out.println(str4); // 输出 "Hello, World!"// 操作字符串String str5 = " Java Programming ";System.out.println(str5.trim().toUpperCase()); // 输出 "JAVA PROGRAMMING"// 使用StringBuilder进行插入和删除操作sb.insert(7, "beautiful ");System.out.println(sb.toString()); // 输出 "Hello, beautiful World!"sb.delete(7, 16);System.out.println(sb.toString()); // 输出 "Hello, World!"}
}

通过这个示例,您可以了解到StringStringBuilder的基本用法和常用方法。在实际编程过程中,您会经常使用这些类来处理字符串操作。希望这个介绍能帮助您更好地学习和理解Java中的字符串和StringBuilder。

file

file

推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g


http://www.ppmy.cn/news/107045.html

相关文章

java服务端如何接入WebSocket?

日常工作中,我们都是使用http请求,来进行前后交互,那么我们也会有使用websocket来进行前后交互的时候,那么它俩有什么区别呢? http和websocket区别 WebSocket是双向通信协议,模拟Socket协议,可…

如何把“困在”内网的数据释放,进行安全的流转传输呢?

互联网大时代,数据的生产使用与互联网紧密相关,但数据安全和网络安全却既有联系又互不相同。数据安全和网络安全的突出区别是核心主体不同,数据安全关注的数据全生命周期的安全,而网络安全则是侧重保障网络体系和网络环境的安全性…

网络安全基础免杀

1. 会话提升的几种方式2. armitage的熟悉3. handler生成监听器的方法4. 防止会话假死5. 控制台设置编码6. upx加壳7. msfvenom木马payload持久化8. msfvenom木马编码 正文 免杀1 1. 会话提升的几种方式 python -c "import pty;pty.spawn(/bin/bash);" 会话提升 se…

【数据结构】第七周

稀疏矩阵快速转置 【问题描述】 稀疏矩阵的存储不宜用二维数组存储每个元素,那样的话会浪费很多的存储空间。所以可以使用一个一维数组存储其中的非零元素。这个一维数组的元素类型是一个三元组,由非零元素在该稀疏矩阵中的位置(行号…

前端HTML之基础扫盲

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 本篇文章将讲解HTML的基础,认识HTML的基本结构,学会使用常用的HTML标签,愿诸位喜欢 目录 文章目录 一、创建第一个HTML程序 二、HTML基本标签介绍 2.1 HT…

Qml实现Dock浮动、停靠功能

纯Qml实现Dock浮动、停靠功能 效果展示github地址:介绍环境Demo代码参数说明API说明 效果展示 Qml Dock效果演示 github地址: https://github.com/longtwilight/QmlDock 介绍 这是一个使用纯qml实现的Dock组件,它支持停靠、浮动、窗体分离、窗体独立、大小调整等…

数据能力-数据安全复合治理框架和模型解读(6)

数据治理,数据安全治理行业在发展,在实践,所以很多东西是实践出来的,哪有什么神仙理论指导,即使有也是一家之说,但为了提高企业投产比,必要的认知是必须的,落地数据安全治理科技水平差异直接决定产品和项目是否可持续性,当前和未来更需要专业和有效创新。数据安全治理…

网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…