减去子()的endIndex的可能重复:
why from index is inclusive but end index is exclusive?原因由1
substring()
方法=>String substring(int beginIndex, int endIndex)
描述:
返回一个新的领域这是该字符串的子字符串。第一个 整数参数指定第一个字符的索引。该 第二个整数参数是最后一个字符的索引 - 1
看看下面的代码:
String anotherPalindrome = "Niagara. O roar again!";
String roar = anotherPalindrome.substring(11, 15);
输出:现在roar
,如果JVM没” t减去int endIndex
一个,我们可以用substring(11,14)
来代替,这样做会不会更方便和更容易出错(人类方面)?如果你没有仔细阅读描述,当你认为endIndex
只是正常的索引时,你可能最终只会挠头半小时(就像我做的那样)。 Java语言创建者将其减一的原因是什么?
另外,substring(int beginIndex,int length)会更有意义。你知道你会提取多少个字符! – Chetan
数十年来,“开始包容,终结独家”在C语言中已经传统。 –