课程
/后端开发
/Java
/Java入门第三季
既然字符串索引从0开始,为什么 19行那里最后一个字符不是fileName.length()-1呢?
2019-02-09
源自:Java入门第三季 2-3
正在回答
索引从0开始,你就当他从1开始,本来要的不就是后一位吗,
String prefix = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName.lastIndexOf(".")这个式子取得一直是点的索引,4,5--5,6。的差距。你自己好好想想,这是我自己的理解。
为啥要采纳,使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符,你写fileName.length()-1不就成获取"jav"了,而不是"java".
比如一个文件的名称是Test.java,在第16行获取'.'的位置, 填写代码: int index=fileName.lastIndexOf('.'); 在这里获取了点最后一次出现的位置,所以接下来在19行应该判断文件后缀是否为java 填写代码: String prefix =fileName.substring(index+1); 这里,index为点的位置,加1,既为j的位置,substring()用于提取从j开始,到文件结尾的字符序列。 最后通过equals进行比较。 length获取的是当前字符串的总长度,这里填写不合适。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答String 索引问题
1 回答索引改变问题
1 回答string中字符索引的问题
4 回答关于finally执行问题
3 回答字符串索引