org.mozilla.javascript
Class ConsString

java.lang.Object
  extended by org.mozilla.javascript.ConsString
All Implemented Interfaces:
Serializable, CharSequence

public class ConsString
extends Object
implements CharSequence, 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(CharSequence str1, CharSequence str2)
           
 
Method Summary
 char charAt(int index)
           
 int length()
           
 CharSequence subSequence(int start, int end)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConsString

public ConsString(CharSequence str1,
                  CharSequence str2)
Method Detail

toString

public String toString()
Specified by:
toString in interface CharSequence
Overrides:
toString in class Object

length

public int length()
Specified by:
length in interface CharSequence

charAt

public char charAt(int index)
Specified by:
charAt in interface CharSequence

subSequence

public CharSequence subSequence(int start,
                                int end)
Specified by:
subSequence in interface CharSequence


Copyright © 2013. All Rights Reserved.