Please review: surrogate fiddle
Ulf Zibis
Ulf.Zibis at CoSoCo.de
Thu Mar 21 12:56:11 UTC 2013
Am 21.03.2013 00:22, schrieb Martin Buchholz:
AbstractStringBuilder:
Instead
270 public int codePointBefore(int index) {
271 int i = index - 1;
272 if ((i < 0) || (i >= count)) {
273 throw new StringIndexOutOfBoundsException(index);
274 }
I suggest
270 public int codePointBefore(int index) {
271 if ((--index < 0) || (index >= count)) {
272 throw new StringIndexOutOfBoundsException(index);
273 }
, because if e.g. the initial value of index is 0, then -1 reflects the out-of-bound condition,
but not the initial 0 to report in the StringIndexOutOfBoundsException.
(Hopefully the following redundant i < 0 bounds check from value[i] becomes elimited by JIT.)
Additional suggestions:
231 * @exception _String_IndexOutOfBoundsException ...
235 public int codePointAt(int index) {
259 * @exception _String_IndexOutOfBoundsException ...
263 public int codePointBefore(int index) {
For what it's worth to throw the more verbose StringIndexOutOfBoundsException, if it's not mentioned
in the spec?
Additional nit:
In line 231 there is an extra space before and behind IndexOutOfBoundsException (the behind one I
would like to see everywhere), but in most cases of @param and @exception, the 2nd space is missing.
Anyway @throws would be better than @exception
-Ulf
More information about the core-libs-dev
mailing list