黑马程序员技术交流社区
标题:
关于String类,lastIndexOf()方法的疑问...
[打印本页]
作者:
折纸时代
时间:
2012-12-5 16:17
标题:
关于String类,lastIndexOf()方法的疑问...
本帖最后由 司懿卓 于 2012-12-22 10:42 编辑
程序代码:
程序代码:
public class StringTest
{
public static void main(String[] args)
{
char ch = '5';
String str10 = "0015324556";
System.out.println(str10.lastIndexOf(ch));
System.out.println(str10.lastIndexOf(ch,
7
));
}
}
上面是String类lastIndexOf()方法..
API上的解释是:
lastIndexOf(int ch, int fromIndex)
从指定的索引处开始进行后向搜索,返回最后一次出现的指定字符在此字符串中的索引。
但是,实际输出结果貌似是截止指定位置之前,该字符串出现的位置索引. 而不是从指定位置向后搜索..
上面代码指定位置索引是7, 输出结果位置7之前最后出现的char '5', 也就是位置在3!
该方法的作用难道不是截止指定位置之前,该字符最后一次出现的位置么?
---------------------------------------------------------------------------------
还是按照实际结果来的好...
作者:
坚持远方
时间:
2012-12-5 16:25
返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
他是反向索引的
作者:
魏秀盛
时间:
2012-12-5 16:46
Java核心技术对String的lastIndexOf(String str,int fromIndex)的解释是:返回与字符串str匹配的最后一个字串的开始位置,这个位置是从原始字符串尾端或者fromIndex开始计算,你代码中用的就是这个方法,
你从str10的尾部开始数,与5匹配的最后一个子串的开始位置就是索引7
作者:
折纸时代
时间:
2012-12-22 10:42
谢谢楼上两位朋友了..
作者:
罗海清
时间:
2012-12-22 11:29
本帖最后由 罗海清 于 2012-12-22 11:30 编辑
1、是从索引7之前的字符串,但是要包括索引7的字符。
2、也就是 "00153245“这个东东,那ch的最后一个位置,也就是索引7了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2