String.java (data, [...]): Documented.
* java/lang/String.java (data, boffset, count): Documented. (String(byte[],String)): Reformatted. (String(byte[])): Likewise. (lastIndexOf(int)): Likewise. (lastIndexOf(String)): Likewise. (substring(int)): Renamed argument to match Classpath. (String(StringBuffer)): Don't share buffer if it is nearly empty. From-SVN: r65070
This commit is contained in:
parent
bd3f840c72
commit
6a76da08a3
2 changed files with 38 additions and 9 deletions
|
@ -84,8 +84,26 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
*/
|
||||
private static final long serialVersionUID = -6849794470754667710L;
|
||||
|
||||
/**
|
||||
* This is the object that holds the characters that make up the
|
||||
* String. It might be a char[], or it could be String. It could
|
||||
* even be `this'. The actual characters can't be located using
|
||||
* pure Java code.
|
||||
* @see #boffset
|
||||
*/
|
||||
private Object data;
|
||||
private int boffset; // Note this is a byte offset - don't use in Java code!
|
||||
|
||||
/**
|
||||
* This is a <emph>byte</emph> offset of the actual characters from
|
||||
* the start of the character-holding object. Don't use this field
|
||||
* in Java code.
|
||||
*/
|
||||
private int boffset;
|
||||
|
||||
/**
|
||||
* Holds the number of characters in value. Package visible for use
|
||||
* by trusted code.
|
||||
*/
|
||||
int count;
|
||||
|
||||
/**
|
||||
|
@ -298,7 +316,7 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
public String(byte[] data, String encoding)
|
||||
throws UnsupportedEncodingException
|
||||
{
|
||||
this (data, 0, data.length, encoding);
|
||||
this(data, 0, data.length, encoding);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -357,7 +375,7 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
*/
|
||||
public String(byte[] data)
|
||||
{
|
||||
this (data, 0, data.length);
|
||||
this(data, 0, data.length);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -371,8 +389,11 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
{
|
||||
synchronized (buffer)
|
||||
{
|
||||
buffer.shared = true;
|
||||
init (buffer.value, 0, buffer.count, true);
|
||||
// Share unless buffer is 3/4 empty.
|
||||
boolean should_copy = ((buffer.count << 2) < buffer.value.length);
|
||||
if (! should_copy)
|
||||
buffer.shared = true;
|
||||
init (buffer.value, 0, buffer.count, ! should_copy);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -721,7 +742,7 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
*/
|
||||
public int lastIndexOf(int ch)
|
||||
{
|
||||
return lastIndexOf (ch, count - 1);
|
||||
return lastIndexOf(ch, count - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -770,7 +791,7 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
*/
|
||||
public int lastIndexOf(String str)
|
||||
{
|
||||
return lastIndexOf (str, count - str.count);
|
||||
return lastIndexOf(str, count - str.count);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -806,9 +827,9 @@ public final class String implements Serializable, Comparable, CharSequence
|
|||
* @throws IndexOutOfBoundsException if begin < 0 || begin > length()
|
||||
* (while unspecified, this is a StringIndexOutOfBoundsException)
|
||||
*/
|
||||
public String substring(int beginIndex)
|
||||
public String substring(int begin)
|
||||
{
|
||||
return substring (beginIndex, count);
|
||||
return substring(begin, count);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue