indexOf()是java String类的方法。主要有以下四种形式:
1. public int indexOf(int ch);
2. public int indexOf(int ch, int fromIndex);
3. public int indexOf(String ch);
4. public int indexOf(String ch, int fromIndex);
这四个indexOf()方法的共同点就是返回ch这个字符或者字符串在指定字符串中的位置,如果带有fromIndex参数,则是从fromIndex这个位置起往后查找是否存在这个字符或者字符串。如果存在则返回相应的位置,否则返回-1。虽然前两个方法是int类型的参数,但是我们知道int和char之间是可以转换的,比如A对应的int就是65。下面给出一个代码的例子。
public class JyTest {
public static void main(String [] args){
String s="hello,world,what's your favorite places";
System.out.println(s.indexOf('l'));
System.out.println(s.indexOf(108));
System.out.println(s.indexOf('l', 20));
System.out.println(s.indexOf("or"));
System.out.println(s.indexOf("or", 10));
System.out.println(s.indexOf("g"));
}
}
上面的代码的输出结果如下图所示:
从上面的结果可以看出,字符串中的位置是从0开始算的,由于字符’l’对应的int值为108,所以前两个输出都是2.第三个是从20之后开始查找,所以找到的是palces中的l,位置为34.对于后面两个字符串也是相同的道理。最后一个由于字符串中不存在’g’,所以返回的值是-1.