黑马程序员技术交流社区
标题:
substring(str.length()) 为什么没有越界?
[打印本页]
作者:
Doit
时间:
2014-10-26 16:26
标题:
substring(str.length()) 为什么没有越界?
substring(str.length()) 为什么没有越界?
作者:
香草芭芙
时间:
2014-10-26 16:39
API有写.
substring
public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
示例:
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string) <---关注!!!
参数:
beginIndex - 起始索引(包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。
复制代码
作者:
英雄传说ER
时间:
2014-10-26 18:02
本帖最后由 英雄传说ER 于 2014-10-26 18:26 编辑
java里面参数大多是包含头不包含尾的,这句话意思是从str.length()开始,但是不包含str.length()比如 toString(4) 它的意思不是从4角标开始,而是说从第四个元素(3角标)开始,但是不包含第四个元素。
但是平时我们为了更好的推断它从哪里开始 ,可以理解为从4角标开始输出转换,这个只是帮助理解,而不是真正的操作方式
作者:
wzg1015
时间:
2014-10-26 18:54
我也是是才发现。一般以索引为范围的都包含头不包含尾,我认为主要是为了便于比较和计算长度。比如 4-8,第一眼看上去长度为4,如果需要考虑尾部长度需要加1。反正以前学迭代器的时候看到过,长期不用就又忘记规律了。
还有一种参数就简单了,前一个为索引,后一个为长度。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2