Java中的lastIndexOf函数的fromIndex参数

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

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

首先看一下官方的文档:
在这里插入图片描述
一共是有四个方法:

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

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

posted @ 2019-05-20 10:33  点点爱梦  阅读(998)  评论(0编辑  收藏  举报