关于String.substring方法
关于String.substring方法
该方法的签名为
String substring(int beginIndex,?int endIndex)
?
结合javadoc和源代码,对该方法进行分析:
?
根据beginIndex与0或count的比较、beginIndex与endIndex的比较、endIndex与字符串长度count的比较,有几种情况:
?
?
?
#beginIndex与0比较beginIndex与endIndex比较endIndex与count比较结果1<0IndexOutOfBoundsException2=0<<子串3<=String对象本身4<>IndexOutOfBoundsException5="" ?空串6>IndexOutOfBoundsException7>0 & <count<<子串8<=子串9<>IndexOutOfBoundsException10="" 空串11>IndexOutOfBoundsException12=count<IndexOutOfBoundsException13="" 空串14>IndexOutOfBoundsException15>countIndexOutOfBoundsException
?
上面的表格列出的情况多达15种,可见要对代码进行覆盖性测试确实是非常困难的。
?
?
Parameters:beginIndex - the beginning index, inclusive.Returns:the specified substring.Throws:IndexOutOfBoundsException - if beginIndex is negative or larger than the length of this String object.?
public String substring(int?beginIndex, int?endIndex)Returns a new string that is a substring of this string. The substring begins at the specified
beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.Examples:
"hamburger".substring(4, 8) returns "urge" "smiles".substring(1, 5) returns "mile"
?
Parameters:beginIndex - the beginning index, inclusive.endIndex - the ending index, exclusive.Returns:the specified substring.Throws:IndexOutOfBoundsException - if the beginIndex is negative, or endIndex is larger than the length of this String object, or beginIndex is larger than endIndex.?PS:iteye的表格编辑实在很困难,望高人指点。
?