ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Java `String.lastIndexOf()`方法示例 > 原文: [https://howtodoinjava.com/java/string/string-lastindexof-method/](https://howtodoinjava.com/java/string/string-lastindexof-method/) [Java 字符串](https://howtodoinjava.com/java-string/)`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`异常。 ```java String blogName = "howtodoinjava.com"; System.out.println( blogName.lastIndexOf(null) ); //Program output Exception in thread "main" java.lang.NullPointerException at java.lang.String.lastIndexOf(String.java:1705) at java.lang.String.lastIndexOf(String.java:1685) at com.StringExample.main(StringExample.java:9) ``` ## 1\. Java `String.lastIndexOf(String substring)`示例 Java 程序使用`lastIndexOf(String substring)`方法在给定的字符串对象中查找子字符串的最后一个索引。 ```java public class StringExample { public static void main(String[] args) { String blogName = "howtodoinjava.com"; System.out.println( blogName.lastIndexOf("java") ); //9 System.out.println( "hello world".lastIndexOf("world") ); //6 System.out.println( "hello world".lastIndexOf("earth") ); //-1 } } ``` 程序输出。 ```java 9 6 -1 ``` ## 2\. Java `String.lastIndexOf(String substring, int fromIndex)`示例 Java 程序查找给定字符串对象中`substring`的最后一个索引,并使用`indexOf(String substring, int fromIndex)`方法从指定的`fromIndex`开始向后搜索。 > 请注意,找到子字符串时,索引计数仅从 0 索引开始,并且仅从字符串开头开始。 ```java public class StringExample { public static void main(String[] args) { String blogName = "howtodoinjava.com"; System.out.println( blogName.indexOf("java", 5) ); //9 System.out.println( "hello world".indexOf("world", 6) ); //6 System.out.println( "hello world".indexOf("world", 2) ); //6 System.out.println( "hello world".indexOf("world", 10) ); //-1 } } ``` 程序输出: ```java 9 6 6 -1 ``` ## 3\. Java `String.lastIndexOf(char ch)`示例 Java 程序使用`lastIndexOf(char ch)`方法在给定的字符串对象中找到给定字符`'ch'`的最后一个索引。 ```java public class StringExample { public static void main(String[] args) { String blogName = "howtodoinjava.com"; System.out.println( blogName.lastIndexOf('j') ); //9 System.out.println( "hello world".lastIndexOf('w') ); //6 System.out.println( "hello world".lastIndexOf('k') ); //-1 } } ``` 程序输出: ```java 9 6 -1 ``` ## 4\. Java `String.lastIndexOf(int ch, int fromIndex)`示例 Java 程序在给定的字符串对象中查找字符`'ch'`的最后一个索引,然后使用`lastIndexOf(String substring, int fromIndex)`方法从指定的`fromIndex`开始向后搜索。 > 请注意,找到字符后,索引计数仅从 0 索引开始,并且仅从字符串的开头开始。 ```java public class StringExample { public static void main(String[] args) { String blogName = "howtodoinjava.com"; System.out.println( blogName.lastIndexOf('j', 4) ); //9 System.out.println( "hello world".lastIndexOf('w', 2) ); //6 System.out.println( "hello world".lastIndexOf('w', 6) ); //6 System.out.println( "hello world".lastIndexOf('k') ); //-1 } } ``` 程序输出: ```java 9 6 6 -1 ``` 学习愉快! 参考: [Java `String`文档](https://docs.oracle.com/javase/10/docs/api/java/lang/String.html)