原文: https://howtodoinjava.com/java/string/string-lastindexof-method/

Java 字符串lastIndexOf()方法返回指定参数字符或字符串的最后一个索引。 如果在字符串中找不到参数,则方法返回-1。 字符串的索引计数器从零开始。

Java String.lastIndexOf()方法语法

String.lastIndexOf()方法具有四种重载形式:

| 序号 | 方法语法 | 描述 |
| —- | —- |
| 1. | int lastIndexOf(String substring) | 返回给定substring的最后一个索引位置 |
| 2. | int lastIndexOf(String substring, int fromIndex int) | 返回给定substring的最后一个索引位置,从指定的fromIndex开始向后搜索 |
| 3. | int lastIndexOf(int ch) | 返回给定char值的最后一个索引位置 |
| 4. | int lastIndexOf(int ch, int fromIndex) | 返回给定char值的索引位置,从指定的fromIndex开始向后搜索 |

不允许使用null参数

不允许将null参数传递给lastIndexOf()方法。 这将导致NullPointerException异常。

  1. String blogName = "howtodoinjava.com";
  2. System.out.println( blogName.lastIndexOf(null) );
  3. //Program output
  4. Exception in thread "main" java.lang.NullPointerException
  5. at java.lang.String.lastIndexOf(String.java:1705)
  6. at java.lang.String.lastIndexOf(String.java:1685)
  7. at com.StringExample.main(StringExample.java:9)

1. Java String.lastIndexOf(String substring)示例

Java 程序使用lastIndexOf(String substring)方法在给定的字符串对象中查找子字符串的最后一个索引。

  1. public class StringExample
  2. {
  3. public static void main(String[] args)
  4. {
  5. String blogName = "howtodoinjava.com";
  6. System.out.println( blogName.lastIndexOf("java") ); //9
  7. System.out.println( "hello world".lastIndexOf("world") ); //6
  8. System.out.println( "hello world".lastIndexOf("earth") ); //-1
  9. }
  10. }

程序输出。

  1. 9
  2. 6
  3. -1

2. Java String.lastIndexOf(String substring, int fromIndex)示例

Java 程序查找给定字符串对象中substring的最后一个索引,并使用indexOf(String substring, int fromIndex)方法从指定的fromIndex开始向后搜索。

请注意,找到子字符串时,索引计数仅从 0 索引开始,并且仅从字符串开头开始。

  1. public class StringExample
  2. {
  3. public static void main(String[] args)
  4. {
  5. String blogName = "howtodoinjava.com";
  6. System.out.println( blogName.indexOf("java", 5) ); //9
  7. System.out.println( "hello world".indexOf("world", 6) ); //6
  8. System.out.println( "hello world".indexOf("world", 2) ); //6
  9. System.out.println( "hello world".indexOf("world", 10) ); //-1
  10. }
  11. }

程序输出:

  1. 9
  2. 6
  3. 6
  4. -1

3. Java String.lastIndexOf(char ch)示例

Java 程序使用lastIndexOf(char ch)方法在给定的字符串对象中找到给定字符'ch'的最后一个索引。

  1. public class StringExample
  2. {
  3. public static void main(String[] args)
  4. {
  5. String blogName = "howtodoinjava.com";
  6. System.out.println( blogName.lastIndexOf('j') ); //9
  7. System.out.println( "hello world".lastIndexOf('w') ); //6
  8. System.out.println( "hello world".lastIndexOf('k') ); //-1
  9. }
  10. }

程序输出:

  1. 9
  2. 6
  3. -1

4. Java String.lastIndexOf(int ch, int fromIndex)示例

Java 程序在给定的字符串对象中查找字符'ch'的最后一个索引,然后使用lastIndexOf(String substring, int fromIndex)方法从指定的fromIndex开始向后搜索。

请注意,找到字符后,索引计数仅从 0 索引开始,并且仅从字符串的开头开始。

  1. public class StringExample
  2. {
  3. public static void main(String[] args)
  4. {
  5. String blogName = "howtodoinjava.com";
  6. System.out.println( blogName.lastIndexOf('j', 4) ); //9
  7. System.out.println( "hello world".lastIndexOf('w', 2) ); //6
  8. System.out.println( "hello world".lastIndexOf('w', 6) ); //6
  9. System.out.println( "hello world".lastIndexOf('k') ); //-1
  10. }
  11. }

程序输出:

  1. 9
  2. 6
  3. 6
  4. -1

学习愉快!

参考:

Java String文档