org.apache.lucene.util

## Class CharsRef

- java.lang.Object
- - org.apache.lucene.util.CharsRef

- All Implemented Interfaces:
    CharSequence, Cloneable, Comparable<CharsRef>

      public final class CharsRef
      extends Object
      implements Comparable<CharsRef>, CharSequence, Cloneable

  Represents char[], as a slice (offset + length) into an existing char[]. The `chars` member should never be null; use `EMPTY_CHARS` if necessary.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `char[]` | `chars` The contents of the CharsRef.
    `static char[]` | `EMPTY_CHARS` An empty character array for convenience
    `int` | `length` Length of used characters.
    `int` | `offset` Offset of first valid character.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CharsRef()` Creates a new `CharsRef` initialized an empty array zero-length
    `CharsRef(char[] chars, int offset, int length)` Creates a new `CharsRef` initialized with the given array, offset and length
    `CharsRef(int capacity)` Creates a new `CharsRef` initialized with an array of the given capacity
    `CharsRef(String string)` Creates a new `CharsRef` initialized with the given Strings character array

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `char` | `charAt(int index)`
    `boolean` | `charsEquals(CharsRef other)`
    `CharsRef` | `clone()` Returns a shallow clone of this instance (the underlying characters are not copied and will be shared by both the returned object and this object.
    `int` | `compareTo(CharsRef other)` Signed int order comparison
    `static CharsRef` | `deepCopyOf(CharsRef other)` Creates a new CharsRef that points to a copy of the chars from `other`
    `boolean` | `equals(Object other)`
    `static Comparator<CharsRef>` | `getUTF16SortedAsUTF8Comparator()` Deprecated. This comparator is only a transition mechanism
    `int` | `hashCode()`
    `boolean` | `isValid()` Performs internal consistency checks.
    `int` | `length()`
    `CharSequence` | `subSequence(int start, int end)`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.lang.CharSequence

      `chars, codePoints`

- - ### Field Detail

    - #### EMPTY_CHARS

          public static final char[] EMPTY_CHARS

      An empty character array for convenience

    - #### chars

          public char[] chars

      The contents of the CharsRef. Should never be `null`.

    - #### offset

          public int offset

      Offset of first valid character.

    - #### length

          public int length

      Length of used characters.

  - ### Constructor Detail

    - #### CharsRef

          public CharsRef()

      Creates a new `CharsRef` initialized an empty array zero-length

    - #### CharsRef

          public CharsRef(int capacity)

      Creates a new `CharsRef` initialized with an array of the given capacity

    - #### CharsRef

          public CharsRef(char[] chars,
                          int offset,
                          int length)

      Creates a new `CharsRef` initialized with the given array, offset and length

    - #### CharsRef

          public CharsRef(String string)

      Creates a new `CharsRef` initialized with the given Strings character array

  - ### Method Detail

    - #### clone

          public CharsRef clone()

      Returns a shallow clone of this instance (the underlying characters are not copied and will be shared by both the returned object and this object.
      Overrides:
        `clone` in class `Object`
      See Also:
        `deepCopyOf(org.apache.lucene.util.CharsRef)`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object other)

      Overrides:
        `equals` in class `Object`

    - #### charsEquals

          public boolean charsEquals(CharsRef other)

    - #### compareTo

          public int compareTo(CharsRef other)

      Signed int order comparison
      Specified by:
        `compareTo` in interface `Comparable<CharsRef>`

    - #### 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`

    - #### getUTF16SortedAsUTF8Comparator

          @Deprecated
          public static Comparator<CharsRef> getUTF16SortedAsUTF8Comparator()

      Deprecated. This comparator is only a transition mechanism

    - #### deepCopyOf

          public static CharsRef deepCopyOf(CharsRef other)

      Creates a new CharsRef that points to a copy of the chars from `other`

      The returned CharsRef will have a length of other.length and an offset of zero.

    - #### isValid

          public boolean isValid()

      Performs internal consistency checks. Always returns true (or throws IllegalStateException)

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.