Package org.apache.lucene.util

## Class LongsRef

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

- All Implemented Interfaces:
    `Cloneable`, `Comparable<LongsRef>`

      public final class LongsRef
      extends Object
      implements Comparable<LongsRef>, Cloneable

  Represents long[], as a slice (offset + length) into an existing long[]. The `longs` member should never be null; use `EMPTY_LONGS` 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 | Description
    --- | --- | ---
    `static long[]` | `EMPTY_LONGS` | An empty long array for convenience
    `int` | `length` | Length of used longs.
    `long[]` | `longs` | The contents of the LongsRef.
    `int` | `offset` | Offset of first valid long.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LongsRef()` | Create a LongsRef with `EMPTY_LONGS`
    `LongsRef​(int capacity)` | Create a LongsRef pointing to a new array of size `capacity`.
    `LongsRef​(long[] longs, int offset, int length)` | This instance will directly reference longs w/o making a copy.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `LongsRef` | `clone()` | Returns a shallow clone of this instance (the underlying longs are not copied and will be shared by both the returned object and this object.
    `int` | `compareTo​(LongsRef other)` | Signed int order comparison
    `static LongsRef` | `deepCopyOf​(LongsRef other)` | Creates a new LongsRef that points to a copy of the longs from `other`
    `boolean` | `equals​(Object other)` |
    `int` | `hashCode()` |
    `boolean` | `isValid()` | Performs internal consistency checks.
    `boolean` | `longsEquals​(LongsRef other)` |
    `String` | `toString()` |

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

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

- - ### Field Detail

    - #### EMPTY_LONGS

          public static final long[] EMPTY_LONGS

      An empty long array for convenience

    - #### longs

          public long[] longs

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

    - #### offset

          public int offset

      Offset of first valid long.

    - #### length

          public int length

      Length of used longs.

  - ### Constructor Detail

    - #### LongsRef

          public LongsRef()

      Create a LongsRef with `EMPTY_LONGS`

    - #### LongsRef

          public LongsRef​(int capacity)

      Create a LongsRef pointing to a new array of size `capacity`. Offset and length will both be zero.

    - #### LongsRef

          public LongsRef​(long[] longs,
                          int offset,
                          int length)

      This instance will directly reference longs w/o making a copy. longs should not be null

  - ### Method Detail

    - #### clone

          public LongsRef clone()

      Returns a shallow clone of this instance (the underlying longs 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.LongsRef)`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals​(Object other)

      Overrides:
        `equals` in class `Object`

    - #### longsEquals

          public boolean longsEquals​(LongsRef other)

    - #### compareTo

          public int compareTo​(LongsRef other)

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

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### deepCopyOf

          public static LongsRef deepCopyOf​(LongsRef other)

      Creates a new LongsRef that points to a copy of the longs from `other`

      The returned IntsRef 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)