public final class BytesRef extends Object implements Comparable<BytesRef>, Cloneable
bytes
member should never be null;
use EMPTY_BYTES
if necessary.
Important note: Unless otherwise noted, Lucene uses this class to
represent terms that are encoded as UTF8 bytes in the index. To
convert them to a Java String
(which is UTF16), use utf8ToString()
.
Using code like new String(bytes, offset, length)
to do this
is wrong, as it does not respect the correct character set
and may return wrong results (depending on the platform's defaults)!
Modifier and Type | Field and Description |
---|---|
byte[] |
bytes
The contents of the BytesRef.
|
static byte[] |
EMPTY_BYTES
An empty byte array for convenience
|
int |
length
Length of used bytes.
|
int |
offset
Offset of first valid byte.
|
Constructor and Description |
---|
BytesRef()
Create a BytesRef with
EMPTY_BYTES |
BytesRef(byte[] bytes)
This instance will directly reference bytes w/o making a copy.
|
BytesRef(byte[] bytes,
int offset,
int length)
This instance will directly reference bytes w/o making a copy.
|
BytesRef(CharSequence text)
Initialize the byte[] from the UTF8 bytes
for the provided String.
|
BytesRef(int capacity)
Create a BytesRef pointing to a new array of size
capacity . |
Modifier and Type | Method and Description |
---|---|
void |
append(BytesRef other)
Appends the bytes from the given
BytesRef |
boolean |
bytesEquals(BytesRef other)
Expert: compares the bytes against another BytesRef,
returning true if the bytes are equal.
|
BytesRef |
clone()
Returns a shallow clone of this instance (the underlying bytes are
not copied and will be shared by both the returned object and this
object.
|
int |
compareTo(BytesRef other)
Unsigned byte order comparison
|
void |
copyBytes(BytesRef other)
Copies the bytes from the given
BytesRef |
void |
copyChars(CharSequence text)
Copies the UTF8 bytes for this string.
|
static BytesRef |
deepCopyOf(BytesRef other)
Creates a new BytesRef that points to a copy of the bytes from
other |
boolean |
equals(Object other) |
static Comparator<BytesRef> |
getUTF8SortedAsUnicodeComparator() |
static Comparator<BytesRef> |
getUTF8SortedAsUTF16Comparator()
Deprecated.
This comparator is only a transition mechanism
|
void |
grow(int newLength)
Used to grow the reference array.
|
int |
hashCode()
Calculates the hash code as required by TermsHash during indexing.
|
boolean |
isValid()
Performs internal consistency checks.
|
String |
toString()
Returns hex encoded bytes, eg [0x6c 0x75 0x63 0x65 0x6e 0x65]
|
String |
utf8ToString()
Interprets stored bytes as UTF8 bytes, returning the
resulting string
|
public static final byte[] EMPTY_BYTES
public byte[] bytes
null
.public int offset
public int length
public BytesRef()
EMPTY_BYTES
public BytesRef(byte[] bytes, int offset, int length)
public BytesRef(byte[] bytes)
public BytesRef(int capacity)
capacity
.
Offset and length will both be zero.public BytesRef(CharSequence text)
text
- This must be well-formed
unicode text, with no unpaired surrogates.public void copyChars(CharSequence text)
text
- Must be well-formed unicode text, with no
unpaired surrogates or invalid UTF16 code units.public boolean bytesEquals(BytesRef other)
other
- Another BytesRef, should not be null.public BytesRef clone()
clone
in class Object
deepCopyOf(org.apache.lucene.util.BytesRef)
public int hashCode()
It is defined as:
int hash = 0; for (int i = offset; i < offset + length; i++) { hash = 31*hash + bytes[i]; }
public String utf8ToString()
public String toString()
public void copyBytes(BytesRef other)
BytesRef
NOTE: if this would exceed the array size, this method creates a new reference array.
public void append(BytesRef other)
BytesRef
NOTE: if this would exceed the array size, this method creates a new reference array.
public void grow(int newLength)
public int compareTo(BytesRef other)
compareTo
in interface Comparable<BytesRef>
public static Comparator<BytesRef> getUTF8SortedAsUnicodeComparator()
@Deprecated public static Comparator<BytesRef> getUTF8SortedAsUTF16Comparator()
public static BytesRef deepCopyOf(BytesRef other)
other
The returned BytesRef will have a length of other.length and an offset of zero.
public boolean isValid()
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.