测试代码
public class HelloWorld{
public static void main(String []args){
System.out.println("Hello World".lastIndexOf(' '));
System.out.println("Hello World".lastIndexOf(' ', 1));
System.out.println("Hello World".lastIndexOf('e'));
System.out.println("Hello World".lastIndexOf('e', 1));
}
}
结果
5
-1
1
1
我预计第二个结果是5,但它是-1。第一个怎么可能是对的,但第二个是错的?
答案 0 :(得分:2)
lastIndexOf()
从右到左,所以当它以索引1(第二个字符,即'e')开头时,它找不到空格(索引为5)。
答案 1 :(得分:2)
最简单的方法
lastIndexOf(int ch,int fromIndex)仅在fromIndex处或之前发生ch的索引,否则返回-1。
System.out.println("Hello World".lastIndexOf(' ', 3));
返回-1。
System.out.println("He llo World".lastIndexOf(' ', 3));
返回2.