160 |
|
|
161 |
public final int length () |
public final int length () |
162 |
{ |
{ |
163 |
return limit (); |
return remaining (); |
164 |
} |
} |
165 |
|
|
166 |
public final char charAt (int i) |
public final char charAt (int i) |
167 |
{ |
{ |
168 |
if (hasArray ()) |
if (i < 0 || i >= length ()) |
169 |
{ |
throw new IndexOutOfBoundsException (); |
|
return backing_buffer[i]; |
|
|
} |
|
170 |
|
|
171 |
// FIXME: there must be a more elegant way of doing this. |
return get (position () + i); |
|
return toString ().charAt (i); |
|
172 |
} |
} |
173 |
|
|
174 |
public String toString() |
public String toString() |
175 |
{ |
{ |
176 |
if (hasArray ()) |
if (hasArray ()) |
177 |
{ |
{ |
178 |
return new String (backing_buffer); |
return new String (array (), position (), length ()); |
179 |
} |
} |
180 |
|
|
181 |
// FIXME: Implement this. |
StringBuffer sb = new StringBuffer (length ()); |
182 |
return ""; |
|
183 |
|
for (int i = position (); i < limit (); ++i) |
184 |
|
sb.append (get (i)); |
185 |
|
|
186 |
|
return sb.toString (); |
187 |
} |
} |
188 |
|
|
189 |
public int compareTo(Object obj) |
public int compareTo(Object obj) |