Java String lastIndexOf()方法

IT 文章2年前 (2023)发布 小编
0 0 0

String.lastIndexOf() 方法返回指定字符或子字符串的最后一个索引位置。如果参数在字符串中未找到,则该方法返回 -1。请注意,字符串的索引从零开始。

1. String.lastIndexOf() API

lastIndexOf ()方法有四种重载形式。

int lastIndexOf(String substring)
int lastIndexOf(String substring, int fromIndex)
int lastIndexOf(int ch)
int lastIndexOf(int ch, int fromIndex)

方法参数是:

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

  • substring或ch:要查找的子字符串或字符。
  • fromIndex:搜索从字符串中的指定位置开始。

该方法返回最后一次出现的指定子字符串的索引,如果不存在则返回 -1。

2. String.lastIndexOf()示例

在下面的Java程序中,子字符串“Java”出现了两次。当我们使用lastIndexOf()搜索字符串时,它返回最后一个“Java”字符串的位置。字母“J”存储在索引位置 41 上,我们可以通过搜索字符“J”来验证该索引位置。

String str = "Hello world Java programmers, welcome to Java world !";
Assertions.assertEquals(41, str.lastIndexOf("Java"));
Assertions.assertEquals(41, str.lastIndexOf('J'));

假设要从字符串中的特定位置搜索子字符串。例如,我们想知道单词“Java”与逗号的距离。我们可以将逗号的位置作为第二个方法参数传递。这次,在索引位置 12 处找到了“Java”。

String str = "Hello world Java programmers, welcome to Java world !";
Assertions.assertEquals(12, str.lastIndexOf("Java", str.indexOf(",")));
Assertions.assertEquals(12, str.lastIndexOf('J', str.indexOf(",")));

3.Null和空字符串

不允许向lastIndexOf()传递null参数,这将导致NullPointerException异常。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

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

空字符串的位置始终被认为是在字符串的末尾,并且该方法返回由String.length()计算的值。

Assertions.assertEquals(str.length(), str.lastIndexOf(""));
© 版权声明

相关文章

暂无评论

暂无评论...