A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘艳伟 中级黑马   /  2012-11-30 21:13  /  1831 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘艳伟 于 2012-12-3 09:29 编辑

在String中有一个方法

indexOf(int ch)
          返回指定字符在此字符串中第一次出现处的索引。
  
  里面说指定字符,字符应该是char型的,为什么用int型呢?

还有
lastIndexOf(int ch)
          返回指定字符在此字符串中最后一次出现处的索引。

  这个方法也是如此,不太明白为什么这样定义类型。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
int indexOf(String str)   返回指定子字符串在此字符串中第一次出现处的索引。
你传入字符的话,就是用的这种
回复 使用道具 举报
本帖最后由 张钧杰 于 2012-11-30 21:37 编辑

在String中有一个方法

indexOf(int ch)
          返回指定字符在此字符串中第一次出现处的索引。
  
  里面说指定字符,字符应该是char型的,为什么用int型呢?

还有
lastIndexOf(int ch)
          返回指定字符在此字符串中最后一次出现处的索引。

  这个方法也是如此,不太明白为什么这样定义类型。


public class Test11 {
        public static void main(String[] args) {
                String s= "sdfsdoiwr";
                int a = s.indexOf("f");
                System.out.println(a);
        }

}
经测试没问题,为什么传入(int ch) 这里的ch表示传入的字符然后强转 成 int 型。如(int  'a')等价于(int 97)因为计算机里面的都是二进制运算的,
回复 使用道具 举报
tfy 中级黑马 2012-11-30 23:27:59
板凳
int 索引指的是字符串数组的下标是int整形
回复 使用道具 举报
本帖最后由 yunhaitian 于 2012-11-30 23:37 编辑

此处的int型指的是字符的ASII码。例如:
String str = "edabc";
System.out.println(str.indexOf(97));
打印的为:2

lastIndexOf(int ch) 这一个和indexOf(int ch)用法一样,只不过这个是从后面开始查找。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马