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 final 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

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 Details

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

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

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