在Java中,indexOf()方法用于查找指定字符或字符串在字符串中第一次出现的位置。它的语法如下:
```java
public int indexOf(int ch)
public int indexOf(int ch, int fromIndex)
public int indexOf(String str)
public int indexOf(String str, int fromIndex)
```
1. 第一个重载方法`indexOf(int ch)`接受一个字符作为参数,并返回该字符在字符串中第一次出现的位置。如果字符不存在于字符串中,则返回-1。
```java
String str = "Hello World";
int index = str.indexOf('o');
System.out.println(index); // 输出:4
```
2. 第二个重载方法`indexOf(int ch, int fromIndex)`接受两个参数,第一个参数是要查找的字符,第二个参数是搜索的起始位置。它从起始位置向后搜索字符串,并返回字符第一次出现的位置。如果字符不存在于指定的起始位置后的子字符串中,则返回-1。
```java
String str = "Hello World";
int index = str.indexOf('o', 5);
System.out.println(index); // 输出:7
```
3. 第三个重载方法`indexOf(String str)`接受一个字符串作为参数,并返回该字符串在原字符串中第一次出现的位置。如果字符串不存在于原字符串中,则返回-1。
```java
String str = "Hello World";
int index = str.indexOf("World");
System.out.println(index); // 输出:6
```
4. 第四个重载方法`indexOf(String str, int fromIndex)`接受两个参数,第一个参数是要查找的字符串,第二个参数是搜索的起始位置。它从起始位置向后搜索字符串,并返回字符串第一次出现的位置。如果字符串不存在于指定的起始位置后的子字符串中,则返回-1。
```java
String str = "Hello World";
int index = str.indexOf("World", 4);
System.out.println(index); // 输出:-1
```
请注意,indexOf()方法返回的是找到的字符或字符串的索引值,索引从0开始。如果要查找字符或字符串最后一次出现的位置,可以使用lastIndexOf()方法。
```java
String str = "Hello World";
int index = str.lastIndexOf('o');
System.out.println(index); // 输出:7
```