indexOf()方法:

直接上代码:

String s = "01234560123456";

int a = s.indexOf('1'); // 返回第一个字符1的下标
int b = s.indexOf("23"); // 返回第一个字符串“23”的下标
int c = s.indexOf('1',5); // 以下标5开始,返回第一个字符1的下标
int d = s.indexOf("23",5); // 以下标5开始,返回第一个字符串“23”的下标

System.out.println(a + " " + b + " " + c + " "+ d);

在这里插入图片描述


lastIndexOf()方法:

直接上代码

String s = "01234560123456";

int a = s.lastIndexOf('1'); // 返回最后一个字符1的下标
int b = s.lastIndexOf("23"); // 返回最后一个字符串“23”的下标
int c = s.lastIndexOf('1',5); // 以下标5为终点,返回最后一个字符1的下标
int d = s.lastIndexOf("23",5); // 以下标5为终点,返回最后一个字符串“23”的下标

System.out.println(a + " " + b + " " + c + " "+ d);

在这里插入图片描述


总结

注意 lastIndexOf(“str”, index)方法,这里返回的是 从下标0开始,以index结尾(包含index下标)之间搜索最后一个字符或字符串下标。

可以从源码中看出的确是这样的:
在这里插入图片描述

比如上例改为

String s = "101231560123456";
int c = s.lastIndexOf('1',5); // 以0为起点,下标5为终点,返回最后一个字符1的下标

System.out.println(c);

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐