Packages

final class Slice extends CharSequence with Serializable

Character sequence representing a lazily-calculated substring.

This class has three constructors:

  • Slice(s) wraps a string, ensuring that future operations (e.g. subSequence) will construct slices instead of strings.
  • Slice(s, start, limit) is the default, and ensures that:
    1. start >= 0 2. limit >= start 3. limit <= s.length
  • Slice.unsafe(s, start, limit) is for situations where the above bounds-checking has already occurred. Only use this if you are absolutely sure your arguments satisfy the above invariants.

Slice's subSequence returns another slice. This means that when wrapping a very large string, garbage collection on the underlying string will not occur until all slices are freed.

Slice's universal equality is only defined with regard to other slices. This means comparing a Slice with other CharSequence values (including String) will always return false.

Slices are serializable. However! They use the default Java serialization layout, which is not that efficient, and could be a disaster in cases where a large shared string might be serialized many times in different slices.

Annotations
@SerialVersionUID()
Linear Supertypes
Serializable, Serializable, CharSequence, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Slice
  2. Serializable
  3. Serializable
  4. CharSequence
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def charAt(i: Int): Char
    Definition Classes
    Slice → CharSequence
  6. def chars(): IntStream
    Definition Classes
    CharSequence
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def codePoints(): IntStream
    Definition Classes
    CharSequence
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(that: Any): Boolean
    Definition Classes
    Slice → AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int
    Definition Classes
    Slice → AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final val length: Int
    Definition Classes
    Slice → CharSequence
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  19. def subSequence(i: Int, j: Int): Slice
    Definition Classes
    Slice → CharSequence
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    Slice → CharSequence → AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from CharSequence

Inherited from AnyRef

Inherited from Any

Ungrouped