当前位置: 首页 > news >正文

Java String indexOf()方法

indexOf() 方法是 String 类的一个方法,用于查找特定字符或字符串首次出现的索引。以下是 indexOf() 方法的一些重载形式:

  • public int indexOf(int ch):查找指定字符首次出现的位置。
  • public int indexOf(int ch, int fromIndex):从指定的索引开始,查找指定字符首次出现的位置。
  • public int indexOf(String str):查找指定字符串首次出现的位置。
  • public int indexOf(String str, int fromIndex):从指定的索引开始,查找指定字符串首次出现的位置。

如果找到了指定的字符或字符串,则返回其在字符串中的索引位置;如果没有找到,则返回 -1。需要注意的是,索引是从 0 开始计数的,也就是说如果一个字符处于字符串的第三个位置,则方法将返回 2

下面是一个示例代码:

public class Codekru {public static void main(String[] args) {String str1 = "codekru hii! codekru";System.out.println("index of character 'i' is: " + str1.indexOf('i'));System.out.println("index of character 'm' is: " + str1.indexOf('m')); // 这将返回 -1,因为 'm' 并不在字符串中}
}

输出将是:

index of character 'i' is: 9
index of character 'm' is: -1

在这个例子中,有两个 ‘i’ 字符,indexOf() 返回了首次出现的 ‘i’ 的索引位置。而对于字符 ‘m’,因为它完全不存在于字符串中,所以返回了 -1

indexOf(int ch) 方法的时间复杂度为 O(n),其中 n 是被迭代的字符串的长度。最好的情况是 O(1),即当字符位于第一个位置时;最坏的情况是 O(n),即当字符位于最后一个位置或根本不存在。

对于带有 fromIndex 参数的 indexOf(String str, int fromIndex) 方法,时间复杂度为 O(m*n),其中 m 是需要搜索的字符串的长度,而 n 是作为参数传递的字符串的长度。

特殊情况:

  • 如果在 indexOf() 方法中传入了一个负数索引,那么它不会抛出异常,而是会将 0 视为开始搜索的位置。
  • 如果传入了一个大于等于字符串长度的索引,那么结果将会是 -1
  • 如果对一个 null 的字符串使用 indexOf() 方法,这里将会抛出 NullPointerException

http://www.mrgr.cn/news/32846.html

相关文章:

  • 论文推荐——犹豫直觉模糊偏好关系积性一致性及其在群决策中的应用
  • 【远程调用PythonAPI-flask】
  • 滑动窗口算法专题(1)
  • 【更新】上市公司绿色专利申请及授权数据(2000-2023年)
  • 独立站如何批量查收录,如何进行独立站的批量收录查询的详细操作
  • SpringBoot 整合 Caffeine 实现本地缓存
  • 【快手】前端校招一面
  • 自然语言处理-基于注意力机制的文本匹配
  • 并查集LRU cache
  • 【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】010 - 二号内核线程 kthreadd线程 工作流程分析
  • 前端入门:HTML+CSS简便开发的技巧
  • Python入门:数据类型、控制流与函数详解
  • Xv6异常处理(二):内核异常
  • [Python数据可视化]探讨数据可视化的实际应用:三个案例分析
  • C语言中if else组合
  • MyBatis-config.xml核心配置
  • ★pwn 更改pwn题libc保姆级教程★
  • 老程序员的数字游戏开发笔记(二) —— 直接开始一个Godot项目
  • vite 使用飞行器仪表示例
  • 1. stm32创建工程并下载