该方法的签名为
String substring(int beginIndex,?int endIndex)
?
结合javadoc和源代码,对该方法进行分析:
?
根据beginIndex与0或count的比较、beginIndex与endIndex的比较、endIndex与字符串长度count的比较,有几种情况:
?
?
?
# beginIndex与0比较 beginIndex与endIndex比较 endIndex与count比较 结果 1 <0 IndexOutOfBoundsException 2 =0 < < 子串 3 < = String对象本身 4 < > IndexOutOfBoundsException 5 = "" ?空串 6?
上面的表格列出的情况多达15种,可见要对代码进行覆盖性测试确实是非常困难的。
?
public String substring(int?beginIndex)
Examples:
"unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring(9) returns "" (an empty string)
?
beginIndex
- the beginning index, inclusive.
IndexOutOfBoundsException
- if
beginIndex
is negative or larger than the
length of this String
object.?
public String substring(int?beginIndex, int?endIndex)
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"
?
beginIndex
- the beginning index, inclusive.endIndex
- the ending index, exclusive.
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的表格编辑实在很困难,望高人指点。
?