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

文章目录 String.indexOf() API 2. String.indexOf()示例 2.1. 查找子串位置 2.2. 从索引中查找子字符串 3. 不允许NULL 学习使用String.indexOf()方法查找给定字符串……




  • String.indexOf() API
  • 2. String.indexOf()示例
    • 2.1. 查找子串位置
    • 2.2. 从索引中查找子字符串
  • 3. 不允许NULL

学习使用String.indexOf()方法查找给定字符串中字符或子字符串的位置。indexOf ()是查找子字符串的标准方法,几乎​​所有编程语言都可以使用indexOf()方法。

如果我们不需要子字符串的位置,而只想验证子字符串是否存在,那么请考虑使用String.contains() API。

String.indexOf() API

字符串的 indexOf() 方法在 Java 中用于返回指定字符或字符串的索引位置。indexOf() 方法是一个重载方法,它接受两个参数:

  • substring 或 ch:需要在当前字符串中查找的子字符串或字符。
  • fromIndex:搜索的起始位置,即在当前字符串中开始查找的索引位置。
int indexOf(String substring)
int indexOf(String substring, int fromIndex)
int indexOf(int ch)
int indexOf(int ch, int fromIndex)

如果在字符串中找不到参数字符或子字符串,则该方法返回-1

2. String.indexOf()示例

让我们看几个例子来更好地理解indexOf()。

2.1. 查找子串位置

在下面的示例中,我们检查给定字符串中是否存在子字符串 “World”。如果存在,子字符串在哪个索引位置出现呢?Java String indexOf()方法

子字符串位于索引位置6,indexOf() 方法返回值为6。

String str = \"Hello World\";
Assertions.assertEquals(6, str.indexOf(\"World\"));

2.2. 从索引中查找子字符串

在某些情况下,我们可能想要定位子字符串,但仅在一定数量的字符之后。在这种情况下,我们可以传递第二个参数fromIndex来跳过指定数量的字符,然后从子字符串或字符开始搜索。

在下面的示例中,字符“o”出现在索引位置 4 和 7 处。假设我们必须跳过前 5 个字符,然后只能搜索字符“o”。Java String indexOf()方法正如预期的那样,indexOf()方法返回 7,因为这是字符“o”在索引位置 5 之后第一次出现。

Assertions.assertEquals(7, str.indexOf(\'o\', 5));

3. 不允许NULL

不允许传递null参数,这将导致NullPointerException。

Assertions.assertThrows(NullPointerException.class, () -> {
  str.indexOf(null);
});

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9152.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

扫描二维码

关注微信客服号