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

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • longsEquals

        public boolean longsEquals​(LongsRef other)
      • 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)