黑马程序员技术交流社区

标题: 想问一下,这两句话什么区别啊,怎么输出的都一样啊 [打印本页]

作者: zhou1234    时间: 2014-12-11 10:34
标题: 想问一下,这两句话什么区别啊,怎么输出的都一样啊





StringBuffer t=new StringBuffer("asdfsdfd");
                int q=t.indexOf("sd");//获取指定字符串的位置
                sop(q);
                int w=t.lastIndexOf("sd");//为什么呢?
                sop(w);


作者: 史云龙    时间: 2014-12-11 10:44
indexOf(String str) : 返回第一次出现的指定子字符串在该字符串中的索引。
lastIndexOf(String str): 返回最右边出现的指定子字符串在此字符串中的索引。

返回结果是不一样的。应该分别是(1和4)。
作者: fatesabering    时间: 2014-12-11 12:15
不一样的 indexOf是正向索引,lastIndexOf是反向索引
作者: 沙子    时间: 2014-12-11 13:44
这两个肯定是不一样。t.IndexOf()返回的是字符第一次出现的位置,而t.lastIndexOf()则返回的是字符最后一次出现的位置
作者: Bali    时间: 2014-12-11 13:54
t.IndexOf()返回的是第一个字符出现的位置
t.lastIndexOf()则返回的是最后一个字符出现的位置
作者: 我只是一只菜鸟    时间: 2014-12-11 14:00
看评论也能学到一下东西:D
作者: l763631191    时间: 2014-12-11 14:14
怎么可能一样,一个是从前面看 一个事从后面开始看!
作者: smallping79    时间: 2014-12-11 16:49
索引的顺序不一样
作者: 人比黄瓜瘦    时间: 2014-12-11 17:24
看评论又能巩固一下
作者: boycechan    时间: 2014-12-11 18:20
既然一楼已回复,过来帮顶下!
作者: 古月哥欠    时间: 2014-12-11 18:48
IndexOf、LastIndexOf都是返回一个位置,是个整数值;找不到都返回-1; IndexOf是从左向右查,LastIndexOf是从右向左查,不管是IndexOf还是LastIndexOf,索引序列都是从左到右的(起始值是0)
作者: 古月哥欠    时间: 2014-12-11 19:22
IndexOf、LastIndexOf都是返回一个位置,是个整数值;找不到都返回-1; IndexOf是从左向右查,LastIndexOf是从右向左查, 不管是IndexOf还是LastIndexOf,索引序列都是从左到右的(起始值是0)
作者: 蛋卷    时间: 2014-12-11 20:00
菜鸟每天逛逛论坛涨不少知识呀
作者: Mr.陈    时间: 2014-12-11 20:06
结果肯定不一样
indexOf(String str) :是从左往右找  取得第一次找到的索引
lastIndexOf(String str): 是从右往左找返回第一次找到的索引无匹配返回-1




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2