org.mozilla.javascript
Class ConsString
java.lang.Object
org.mozilla.javascript.ConsString
- All Implemented Interfaces:
- java.io.Serializable, java.lang.CharSequence
public class ConsString
- extends java.lang.Object
- implements java.lang.CharSequence, java.io.Serializable
This class represents a string composed of two components, each of which
may be a java.lang.String
or another ConsString.
This string representation is optimized for concatenation using the "+"
operator. Instead of immediately copying both components to a new character
array, ConsString keeps references to the original components and only
converts them to a String if either toString() is called or a certain depth
level is reached.
Note that instances of this class are only immutable if both parts are
immutable, i.e. either Strings or ConsStrings that are ultimately composed
of Strings.
Both the name and the concept are borrowed from V8.
- See Also:
- Serialized Form
Constructor Summary |
ConsString(java.lang.CharSequence str1,
java.lang.CharSequence str2)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ConsString
public ConsString(java.lang.CharSequence str1,
java.lang.CharSequence str2)
toString
public java.lang.String toString()
- Specified by:
toString
in interface java.lang.CharSequence
- Overrides:
toString
in class java.lang.Object
length
public int length()
- Specified by:
length
in interface java.lang.CharSequence
charAt
public char charAt(int index)
- Specified by:
charAt
in interface java.lang.CharSequence
subSequence
public java.lang.CharSequence subSequence(int start,
int end)
- Specified by:
subSequence
in interface java.lang.CharSequence