黑马程序员技术交流社区
标题:
关于String的indexOf的问题
[打印本页]
作者:
袁培育
时间:
2012-4-17 15:28
标题:
关于String的indexOf的问题
如题,在jdk帮助文档里的String类中用这样一个方法家叫indexOf(),他有很多重载方法,其中有两个是indexOf(String str)和indexOf(String str, int fromIndex),就是说参数类型应该是String,可是毕老师在13天第02节视频里用这两个方法时传入的是char类型的参数(因为毕老师用的是单引号而不是双引号),但没有报错而且正确运行了,为什么呀?难到是单引号可以表示字符串?
作者:
葛尧
时间:
2012-4-17 16:21
字符型数据 是按编码对应的二进制存储的,
所以 'a' == 97 == 61(hex) 是一样的,
你自己试试int ch = 'a' 打印一下就知道了
作者:
伊文龙
时间:
2012-4-17 16:28
这里调用的是 indexOf(int ch) 方法。在java中,字符型数据和int型数据可以通过Unicode 码相互转换。
这是我写的一个例子,希望对你有用:
public class StringTest {
public static void main(String[] args){
function('a');
}
public static void function(int ch){
String str = "this is a string !";
System.out.println(str.indexOf(ch));
}
}
/*输出:
* 8
*/
复制代码
作者:
袁培育
时间:
2012-4-17 20:02
张卯 发表于 2012-4-17 16:02
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, i ...
是不是说如果传入的是一个字符型的数据编译时会自动变为int型
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2