/** Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.*********************//** (C) Copyright Taligent, Inc. 1996 - All Rights Reserved* (C) Copyright IBM Corp. 1996 - All Rights Reserved** The original version of this source code and documentation is copyrighted* and owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These* materials are provided under terms of a License Agreement between Taligent* and Sun. This technology is protected by multiple US and International* patents. This notice and attribution to Taligent may not be removed.* Taligent is a registered trademark of Taligent, Inc.**/package java.text;/*** A RuleBasedCollationKey is a concrete implementation of CollationKey class.* The RuleBasedCollationKey class is used by the RuleBasedCollator class.*/final class RuleBasedCollationKey extends CollationKey {/*** Compare this RuleBasedCollationKey to target. The collation rules of the* Collator object which created these keys are applied. <strong>Note:</strong>* RuleBasedCollationKeys created by different Collators can not be compared.* @param target target RuleBasedCollationKey* @return Returns an integer value. Value is less than zero if this is less* than target, value is zero if this and target are equal and value is greater than* zero if this is greater than target.* @see java.text.Collator#compare*/public int compareTo(CollationKey target){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;}/*** Compare this RuleBasedCollationKey and the target for equality.* The collation rules of the Collator object which created these keys are applied.* <strong>Note:</strong> RuleBasedCollationKeys created by different Collators can not be* compared.* @param target the RuleBasedCollationKey to compare to.* @return Returns true if two objects are equal, false otherwise.*/public boolean equals(Object target) {if (this == target) return true;if (target == null || !getClass().equals(target.getClass())) {return false;}RuleBasedCollationKey other = (RuleBasedCollationKey)target;return key.equals(other.key);}/*** 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 the hash value based on the string's collation order.*/public int hashCode() {return (key.hashCode());}/*** 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.*/public byte[] toByteArray() {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;}/*** A RuleBasedCollationKey can only be generated by Collator objects.*/RuleBasedCollationKey(String source, String key) {super(source);this.key = key;}private String key = null;}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。