Methods Summary |
---|
public int | compareTo(java.text.CollationKey target)Compare this RuleBasedCollationKey to target. The collation rules of the
Collator object which created these keys are applied. Note:
RuleBasedCollationKeys created by different Collators can not be compared.
int result = key.compareTo(((RuleBasedCollationKey)(target)).key);
if (result <= Collator.LESS)
return Collator.LESS;
else if (result >= Collator.GREATER)
return Collator.GREATER;
return Collator.EQUAL;
|
public boolean | equals(java.lang.Object target)Compare this RuleBasedCollationKey and the target for equality.
The collation rules of the Collator object which created these keys are applied.
Note: RuleBasedCollationKeys created by different Collators can not be
compared.
if (this == target) return true;
if (target == null || !getClass().equals(target.getClass())) {
return false;
}
RuleBasedCollationKey other = (RuleBasedCollationKey)target;
return key.equals(other.key);
|
public int | hashCode()Creates a hash code for this RuleBasedCollationKey. The hash value is calculated on the
key itself, not the String from which the key was created. Thus
if x and y are RuleBasedCollationKeys, then x.hashCode(x) == y.hashCode() if
x.equals(y) is true. This allows language-sensitive comparison in a hash table.
See the CollatinKey class description for an example.
return (key.hashCode());
|
public byte[] | toByteArray()Converts the RuleBasedCollationKey to a sequence of bits. If two RuleBasedCollationKeys
could be legitimately compared, then one could compare the byte arrays
for each of those keys to obtain the same result. Byte arrays are
organized most significant byte first.
char[] src = key.toCharArray();
byte[] dest = new byte[ 2*src.length ];
int j = 0;
for( int i=0; i<src.length; i++ ) {
dest[j++] = (byte)(src[i] >>> 8);
dest[j++] = (byte)(src[i] & 0x00ff);
}
return dest;
|