黑马程序员技术交流社区

标题: 这个String startsWith()方法怎么回事啊? [打印本页]

作者: Wen丶    时间: 2013-6-18 22:29
标题: 这个String startsWith()方法怎么回事啊?
本帖最后由 尹丽峰 于 2013-6-18 23:16 编辑

代码如下:
String s = "abcd";

if(s.startsWith(s,'a')){
                        System.out.println("是以a开头!");
                }
                else{
                        System.out.println("不是以a开头!");
                }
这里应该打印出"是以a开头!"
为什么打出来的是"不是以a开头!"
搞了半天没明白。。。
作者: 尹丽峰    时间: 2013-6-18 22:44
public boolean startsWith(String prefix,
                          int toffset)测试此字符串从指定索引开始的子字符串是否以指定前缀开始。

参数:
prefix - 前缀。
toffset - 在此字符串中开始查找的位置。
so   

s.startsWith("a",0)应该这么玩!!!
作者: shang1jk    时间: 2013-6-18 22:56
startsWith方法不接收字符参数,

改成这样就好:
s.startsWith("a");
作者: Wen丶    时间: 2013-6-18 22:57
尹丽峰 发表于 2013-6-18 22:44
public boolean startsWith(String prefix,
                          int toffset)测试此字符串从指定索 ...

:lol谢谢峰哥。。
作者: Wen丶    时间: 2013-6-18 22:58
shang1jk 发表于 2013-6-18 22:56
startsWith方法不接收字符参数,

改成这样就好:

哈哈,搞定了。谢谢了
作者: wangpan    时间: 2013-6-18 23:10
同意楼上说的,但是在想这个表达式s.startsWith(s,'a')返回false,是不是因为'a'的ascii码值大于s的长度了?
应该是这样,因为编译器不报错,而这个方法的第二个参数是int型,应该是char类型自动提升到int型了吧!
作者: 尹丽峰    时间: 2013-6-18 23:13
问题解决请结贴!
作者: 月时微    时间: 2013-6-19 13:23
StartsWith(String, StringComparison)  确定在使用指定的比较选项进行比较时此字符串实例的开头是否与指定的字符串匹配。




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