行业资讯 2025年08月6日
0 收藏 0 点赞 913 浏览 4271 个字
摘要 :

文章目录 1. 创建新字符串 1.1. 字符串字面值 1.2. 字符串对象 2. 字符串API方法 3. 转换 4. 有用的代码示例 5. 常见问题 在Java中,字符串(String)表示一系列不可……




  • 1. 创建新字符串
    • 1.1. 字符串字面值
    • 1.2. 字符串对象
  • 2. 字符串API方法
  • 3. 转换
  • 4. 有用的代码示例
  • 5. 常见问题

在Java中,字符串(String)表示一系列不可变的字符,一旦创建就不能被修改。字符串属于java.lang.String类。在本页面中,我们将学习使用字符串字面值和构造函数创建字符串,字符串方法以及与字符串转换和格式化相关的其他示例。

1. 创建新字符串

有两种方法可以在Java中创建字符串。

1.1. 字符串字面值

字符串字面值是在Java中创建字符串最简单且推荐的方式。通过这种方式,只需将双引号中的字符赋值给java.lang.String类型的变量。
由于性能原因,字符串字面值始终在字符串常量池中创建。

String str = \"www.panziye.com\"; // 使用字符串字面值创建字符串

1.2. 字符串对象

有时,我们可能希望为内存中的每个不同字符串创建单独的实例。我们可以使用new关键字为每个字符串值创建一个字符串对象。使用new关键字创建的字符串对象存储在堆内存中。
在以下示例中,将会在堆内存中创建3个具有相同值的字符串的单独实例。

String blogName1 = new String(\"www.panziye.com\");
String blogName2 = new String(\"www.panziye.com\");
String blogName3 = new String(\"www.panziye.com\");

2. 字符串API方法

  • charAt(int index) – 返回指定索引处的字符。指定的索引值应该在 ‘0’ 到 ‘length() -1’(两者都包括在内)之间。如果索引无效或超出范围,它会抛出 IndexOutOfBoundsException 异常。
  • equals(Object obj) – 将字符串与指定字符串以区分大小写的方式进行比较,如果两者匹配,则返回 true,否则返回 false
  • equalsIgnoreCase(String string) – 以不区分大小写的方式进行比较,与 equals 方法类似。
  • compareTo(String string) – 根据字符串中每个字符的 Unicode 值来按字典顺序比较两个字符串。如果参数字符串等于此字符串,则返回值为 0;如果此字符串按字典顺序小于参数字符串,则返回小于 0 的值;如果此字符串按字典顺序大于参数字符串,则返回大于 0 的值。
  • compareToIgnoreCase(String string) – 与 compareTo 方法相同,但在比较过程中忽略大小写。
  • startsWith(String prefix, int offset) – 检查字符串是否以指定前缀开头,从指定偏移索引开始。
  • startsWith(String prefix) – 检查字符串是否以指定前缀开头,偏移索引值为 0。
  • endsWith(String suffix) – 检查字符串是否以指定后缀结尾。
  • hashCode() – 返回字符串的哈希码。
  • indexOf(int ch) – 返回字符串中指定字符参数的第一次出现的索引。
  • indexOf(int ch, int fromIndex) – indexOf(char ch) 方法的重载版本,从指定的 fromIndex 开始搜索字符串。
  • indexOf(String str) – 返回指定子字符串 \'str\' 的第一次出现的索引。
  • indexOf(String str, int fromIndex) – indexOf(String str) 方法的重载版本,从指定的 fromIndex 开始搜索字符串。
  • lastIndexOf(int ch) – 返回字符串中字符 \'ch\' 的最后一次出现的索引。
  • lastIndexOf(int ch, int fromIndex) – lastIndexOf(int ch) 方法的重载版本,从 fromIndex 开始向后搜索。
  • lastIndexOf(String str) – 返回字符串中字符串 \'str\' 的最后一次出现的索引,类似于 lastIndexOf(int ch)
  • lastIndexOf(String str, int fromIndex) – lastIndexOf(String str) 方法的重载版本,从 fromIndex 开始向后搜索。
  • substring(int beginIndex) – 返回字符串的子串,从指定索引开始。
  • substring(int beginIndex, int endIndex) – 返回子串,从 beginIndex 处的字符开始,以 endIndex 处的字符结束。
  • concat(String str) – 将指定的字符串参数连接到字符串的末尾。
  • replace(char oldChar, char newChar) – 将所有旧字符的出现替换为新字符,返回更新后的字符串。
  • replace(String target, String replacement) – 将所有目标子字符串替换为指定的替代字符串,返回更新后的字符串。
  • replaceFirst(String regex, String replacement) – 使用指定的正则表达式替换第一个与之匹配的子字符串,返回更新后的字符串。
  • replaceAll(String regex, String replacement) – 使用指定的正则表达式替换所有与之匹配的子字符串,返回更新后的字符串。
  • split(String regex, int limit) – 拆分字符串并返回与给定正则表达式匹配的子字符串数组。\'limit\' 是数组中的最大元素数。
  • split(String regex) – split(String regex, int limit) 方法的重载版本,没有阈值限制。
  • contains(CharSequence s) – 检查字符串是否包含指定字符序列。如果包含,则返回 true,否则返回 false
  • toUpperCase(Locale locale) – 使用指定地区定义的规则将字符串转换为大写字符串。
  • toUpperCase() – toUpperCase(Locale locale) 方法的重载版本,使用默认地区。
  • toLowerCase(Locale locale) – 使用指定地区定义的规则将字符串转换为小写字符串。
  • toLowerCase() – toLowerCase(Locale locale) 方法的重载版本,使用默认地区。
  • intern() – 在内存池中搜索指定的字符串,并返回其引用。否则,该方法会在字符串池中创建字符串字面量并返回引用。
  • isEmpty() – 如果给定字符串长度为 0,则返回 true,否则返回 false
  • static String join() – 使用指定的分隔符连接给定的字符串,并返回连接后的 Java 字符串。
  • static String format() – 返回格式化后的字符串。
  • trim() – 从 Java 字符串中删除前导和尾随空格。
  • toCharArray() – 将字符串转换为字符数组。
  • static String copyValueOf(char[] data) – 返回包含指定字符数组的字符的字符串。
  • byte[] getBytes(String charsetName) – 使用指定的字符集编码将字符串转换为字节序列。
  • byte[] getBytes()getBytes(String charsetName) 方法的重载版本,使用默认字符集编码。
  • length() – 返回字符串的长度。
  • matches(String regex) – 验证字符串是否与指定的正则表达式匹配。
  • codePointAt(int index) – 类似于 charAt() 方法,返回指定索引处的 Unicode 代码点值,而不是字符本身。
  • static String copyValueOf(char[] data, int offset, int count)copyValueOf(char[] data) 方法的重载版本,包含两个额外的参数,子数组的起始偏移和子数组的长度。它基于额外的参数从数组中选择字符,然后创建字符串。
  • void getChars(int srcBegin, int srcEnd, char[] dest, int destBegin) – 将 src 数组的字符复制到 dest 数组。只复制指定范围(从 srcBegin 到 srcEnd)到 dest 子数组(从 destBegin 开始)。
  • static String valueOf() – 返回传递的参数(如 int、long、float、double、char 和字符数组)的字符串表示形式。
  • boolean contentEquals(StringBuffer sb) – 将字符串与指定的字符串缓冲区进行比较。
  • boolean regionMatches() – 比较输入字符串的子字符串与指定字符串的子字符串。
  • boolean regionMatches()regionMatches() 方法的另一种变体,具有额外的布尔参数,用于指定是否进行区分大小写的比较。

3. 转换

  • 将 Java 字符串转换为 int
  • 在 Java 中将 int 转换为字符串
  • 将字符串转换为 Long
  • 在 Java 中将 Long 转换为字符串
  • 将字符串转换为日期
  • 将日期转换为字符串
  • 将字符串转换为 String[] 示例
  • Java 8 – 连接字符串数组 – 将数组转换为字符串
  • 将字符串转换为 InputStream 示例
  • 将 InputStream 转换为字符串示例
  • Java 拆分 CSV 字符串 – 将字符串转换为列表示例
  • 将 CSV 连接为字符串
  • 取消转义 HTML 为字符串示例
  • 转义 HTML – 将字符串编码为 HTML 示例
  • 将字节数组转换为字符串
  • 转换堆栈跟踪为字符串
  • 将浮点数转换为字符串 – 格式化为 N 个小数点

4. 有用的代码示例

  • 在 Java 中使用递归反转字符串
  • 删除单词之间的额外空格
  • 仅删除字符串的前导空格
  • 仅删除字符串的尾随空格
  • 如何在 Java 中反转字符串
  • 在 Java 中反转字符串中的单词
  • 如何查找字符串中的重复单词
  • 如何查找字符串中的重复字符
  • Java 按字母表顺序对字符串字符进行排序
  • 将字符串转换为标题案例
  • 拆分字符串的4种方法
  • 左对齐、右对齐或居中对齐字符串
  • 读取文件到字符串
  • Java 8 StringJoiner 示例
  • 使用空格或零填充字符串的左侧
  • 使用空格或零填充字符串的右侧
  • 获取字符串的前4个字符
  • 获取字符串的最后4个字符
  • 掩盖除了最后4个字符外字符串
  • 格式化字符串为 (123) 456-7890 模式
  • 从字符串中删除最后一个字符

5. 常见问题

  • 为什么字符串是不可变的
  • Java 字符串面试问题

归属教程 Java基础教程

文章目录 前言  第1章 Java语言基础 第2章 流程控制语句 第3章 面向对象编程 第4章 Java 字符 […]

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9160.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号