首先是一段测试代码,在后面有详细的解释

public class LastIndexOfTest {
    public static void main(String[] args) {
        String s = "a ab abc abcd";
        System.out.println(s.lastIndexOf("a"));
        System.out.println(s.lastIndexOf('a'));
        System.out.println(s.lastIndexOf(97));

        System.out.println(s.lastIndexOf("a", 4));
    }
}

输出:

9
9
9
2

首先看一下官方的文档:
Java中的lastIndexOf函数的fromIndex参数
一共是有四个方法:

  • lastIndexOf(int ch)
  • lastIndexOf(int ch, int fromIndex)
  • lastIndexOf(String str)
  • lastIndexOf(String str, int fromIndex)
    返回值都为要查找对象的索引,若不存在则返回-1(下图中也有解释)。

其实总结一下,可以理解为两个参数,第一个是要查找的对象,可以是char型(也可以用int型,参考java中int与char的关系),也可以是String类型。
第二个是搜索的起始位置,官方给的解释是
Java中的lastIndexOf函数的fromIndex参数
这个参数一开始还是有疑惑的,但是经过测试,认为这个参数可以理解为其用处为使函数返回:“从字符串开始到fromIndex,最后一个子字符串出现的位置的索引”,而这个容易引起歧义的"from"的实际含义是从这个位置开始倒着找(当然输出的索引还是正向的,即从字符串开始位置的0开始算起的)。

相关文章:

  • 2022-03-09
  • 2021-04-27
  • 2021-11-29
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-10
猜你喜欢
  • 2021-09-23
  • 2022-12-23
  • 2021-09-10
  • 2021-09-11
  • 2021-06-27
  • 2022-12-23
  • 2021-10-29
相关资源
相似解决方案