JavaTM Platform
Standard Ed. 6

java.text
�� Collator

java.lang.Object
  �̳��� java.text.Collator
������ʵ�ֵĽӿڣ�
Cloneable, Comparator<Object>
ֱ����֪���ࣺ
RuleBasedCollator

public abstract class Collator
extends Object
implements Comparator<Object>, Cloneable

Collator ��ִ���������Ի����� String �Ƚϡ�ʹ�ô����Ϊ��Ȼ�����ı������������������̡�

Collator ��һ��������ࡣ������ʵ�־�����������ԡ�Java ƽ̨Ŀǰ�ṩ�� RuleBasedCollator ���࣬�������ںܶ������ԡ������Դ����������࣬�Դ��������ר����Ҫ��

�������������Ի�������һ��������ʹ�þ�̬�������� getInstance ��Ϊ���������Ի�������ʵ��� Collator ���������Ҫ�����ض��������Ե�ϸ�ڻ�����Ҫ�޸IJ��ԣ�ֻ��鿴 Collator �����༴�ɡ�

�����ʾ����ʾ�����ʹ�����Ĭ�����Ի����� Collator �Ƚ������ַ�����

 // Compare two strings in the default locale
 Collator myCollator = Collator.getInstance();
 if( myCollator.compare("abc", "ABC") < 0 )
     System.out.println("abc is less than ABC");
 else
     System.out.println("abc is greater than or equal to ABC");
 

�������� Collator �� strength ������ȷ���Ƚ�����Ϊ�����IJ��켶���ṩ������ strength��PRIMARY��SECONDARY��TERTIARY �� IDENTICAL��������������ȷ�� strength ��ֵ�����Ի�����ء������ڽݿ����У�"e" �� "f" ����Ϊ�� PRIMARY ���죬�� "e" �� "ě" ���� SECONDARY ���죬"e" �� "E" �� TERTIARY ���죬"e" �� "e" �� IDENTICAL�������ʾ����ʾ������������Ӣ����Դ�Сд��������

 //Get the Collator for US English and set its strength to PRIMARY
 Collator usCollator = Collator.getInstance(Locale.US);
 usCollator.setStrength(Collator.PRIMARY);
 if( usCollator.compare("abc", "ABC") == 0 ) {
     System.out.println("Strings are equivalent");
 }
 

������ñȽ� String һ�Σ��� compare �������ṩ������ܡ����ڶ� String �б�����ʱ��ͨ����Ҫ��ÿ�� String ���ж�αȽϡ�����������£�CollationKey ���ṩ���õ����ܡ�CollationKey �ཫһ�� String ת����һϵ�п������� CollationKey ���а�λ�Ƚϵ�λ��CollationKey ���� Collator ����Ϊ������ String �������ġ�
ע�����ܱȽ��ɲ�ͬ Collator ������ CollationKey���й�ʹ�� CollationKey ��ʾ��������� CollationKey ����������

������
RuleBasedCollator, CollationKey, CollationElementIterator, Locale

�ֶ�ժҪ
static int CANONICAL_DECOMPOSITION
          Decomposition ģʽֵ��
static int FULL_DECOMPOSITION
          Decomposition ģʽֵ��
static int IDENTICAL
          Collator �� strength ֵ��
static int NO_DECOMPOSITION
          Decomposition ģʽֵ��
static int PRIMARY
          Collator �� strength ֵ��
static int SECONDARY
          Collator �� strength ֵ��
static int TERTIARY
          Collator �� strength ֵ��
 
���췽��ժҪ
protected Collator()
          Ĭ�ϵĹ��췽����
 
����ժҪ
 Object clone()
          ��д Cloneable
 int compare(Object o1, Object o2)
          �Ƚϴ˷�������������˳��
abstract  int compare(String source, String target)
          ���ݴ� Collator �������������Ƚ�Դ�ַ�����Ŀ���ַ�����
 boolean equals(Object that)
          �Ƚ����� Collator ������ԡ�
 boolean equals(String source, String target)
          ���ݴ� Collator ����������Ƚ������ַ����Ƿ���ȵı�ݷ�����
static Locale[] getAvailableLocales()
          ����һ��������֧�����Ի��������飬����� getInstance ������Ϊ��Щ���Ի��������ѱ��ػ���ʵ����
abstract  CollationKey getCollationKey(String source)
          ���� String ת��Ϊһϵ�п��Ժ����� CollationKey ��λ���бȽϵ�λ��
 int getDecomposition()
          ��ȡ�� Collator �� decomposition ģʽ��
static Collator getInstance()
          ��ȡ��ǰĬ�����Ի����� Collator��
static Collator getInstance(Locale desiredLocale)
          ��ȡ�������Ի����� Collator��
 int getStrength()
          ���ش� Collator �� strength ���ԡ�
abstract  int hashCode()
          ���ɴ� Collator �Ĺ�ϣ�롣
 void setDecomposition(int decompositionMode)
          ���ô� Collator �� decomposition ģʽ��
 void setStrength(int newStrength)
          ���ô� Collator �� strength ���ԡ�
 
���� java.lang.Object �̳еķ���
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

�ֶ���ϸ��Ϣ

PRIMARY

public static final int PRIMARY
Collator �� strength ֵ�����ø�ֵ�󣬱Ƚ��ڼ���� PRIMARY �����ϵIJ�����Ϊ�����ġ������������� strength ��ֵ�����Ի�����ء������������ǽ���ͬ�Ļ�����ĸ��"a" �� "b"����Ϊ PRIMARY ���졣

������
setStrength(int), getStrength(), �����ֶ�ֵ

SECONDARY

public static final int SECONDARY
Collator �� strength ֵ�����ø�ֵ�󣬱Ƚ��ڼ���� SECONDARY �IJ�����Ϊ�����ġ������������� strength ��ֵ�����Ի�����ء������������ǽ���ͬ������ĸ�IJ�ͬ������ʽ��"a" �� "?"����Ϊ SECONDARY ���졣

������
setStrength(int), getStrength(), �����ֶ�ֵ

TERTIARY

public static final int TERTIARY
Collator �� strength ֵ�����ø�ֵ�󣬱Ƚ��ڼ���� TERTIARY �����ϵIJ�����Ϊ�����ġ������������� strength ��ֵ�����Ի�����ء������������ǽ���Сд���죨�� "a" �� "A"����Ϊ TERTIARY ���졣

������
setStrength(int), getStrength(), �����ֶ�ֵ

IDENTICAL

public static final int IDENTICAL
Collator �� strength ֵ�����ø�ֵ�󣬱Ƚ��ڼ佫���еIJ��춼��Ϊ�����ġ������������� strength ��ֵ�����Ի�����ء������������ǿ����ַ���"\u0001" �� "\u0002"���� PRIMARY��SECONDARY �� TERTIARY ������Ϊ��ȵģ����� IDENTICAL �������Dz�ͬ�ġ����⣬����� decomposition ����Ϊ NO_DECOMPOSITION������ "\u00C0"��A-��������ǰ���������� "A\u0300"��A������������������������ IDENTICAL ������Ϊ���������졣

������
�����ֶ�ֵ

NO_DECOMPOSITION

public static final int NO_DECOMPOSITION
Decomposition ģʽֵ������Ϊ NO_DECOMPOSITION ʱ������Ϊ���������ֽ������ַ�������Ĭ�ϵ����ò����ṩ�������������ǽ�����Щ��ʹ�����������Բ��ܵó���ȷ�Ľ����

������
getDecomposition(), setDecomposition(int), �����ֶ�ֵ

CANONICAL_DECOMPOSITION

public static final int CANONICAL_DECOMPOSITION
Decomposition ģʽֵ������Ϊ CANONICAL_DECOMPOSITION ʱ����Ϊ�������ֽ���Щ���� Unicode ��׼Ϊ�淶������ַ���Ҫ��ȡ�����ַ�����ȷ������Ӧ��ʹ�ø�ֵ��

CANONICAL_DECOMPOSITION ��Ӧ�� Unicode Technical Report #15 ���������� Normalization Form D��

������
getDecomposition(), setDecomposition(int), �����ֶ�ֵ

FULL_DECOMPOSITION

public static final int FULL_DECOMPOSITION
Decomposition ģʽֵ������Ϊ FULL_DECOMPOSITION ʱ����Ϊ�������ֽ� Unicode �淶����� Unicode ���ݱ��塣�����Ͳ��������������ַ������Ҷ��ھ��������ʽ���ַ���Ҳ�ܹ�ʹ�����׼����ʽ�����������磬��Ǻ�ȫ�ǵ� ASCII �ַ���Ƭ�����ַ�����һͬ�����ˡ�FULL_DECOMPOSITION ���������ģ����Ҳ�������� decomposition ģʽ��

FULL_DECOMPOSITION ��Ӧ�� Unicode Technical Report #15 ���������� Normalization Form KD��

������
getDecomposition(), setDecomposition(int), �����ֶ�ֵ
���췽����ϸ��Ϣ

Collator

protected Collator()
Ĭ�ϵĹ��췽�����˹��췽�����ܱ����ģ�����������Է��������û�ͨ������ getInstance ��������������һ�� Collator ���ࡣ

������
getInstance()
������ϸ��Ϣ

getInstance

public static Collator getInstance()
��ȡ��ǰĬ�����Ի����� Collator��ͨ�� java.util.Locale.getDefault ��ȷ��Ĭ�ϵ����Ի�����

���أ�
Ĭ�����Ի��������� en_US���� Collator��
������
Locale.getDefault()

getInstance

public static Collator getInstance(Locale desiredLocale)
��ȡ�������Ի����� Collator��

������
desiredLocale - ��������Ի�����
���أ�
�������Ի����� Collator��
������
Locale, ResourceBundle

compare

public abstract int compare(String source,
                            String target)
���ݴ� Collator �������������Ƚ�Դ�ַ�����Ŀ���ַ���������Դ�ַ�����С�ڡ����ڻ����Ŀ���ַ��������ظ�������������������йش˷�����ʹ��ʾ��������� Collator ����������

����һ�αȽϣ��˷�������������ܡ�����ڶ�αȽ����漰������ String���� CollationKey.compareTo ����������ܡ��й�ʹ�� CollationKeys ��ʾ��������� Collator ����������

������
source - Դ�ַ�����
target - Ŀ���ַ�����
���أ�
����һ������ֵ�����ԴС��Ŀ�꣬���ֵС���㣻���Դ����Ŀ�꣬���ֵΪ�㣻���Դ����Ŀ�꣬���ֵ�����㡣
������
CollationKey, getCollationKey(java.lang.String)

compare

public int compare(Object o1,
                   Object o2)
�Ƚϴ˷�������������˳�򡣵�һ������С�ڡ����ڻ���ڵڶ�������ʱ�ֱ𷵻ظ������������������

��ʵ�ֽ����� compare((String)o1, (String)o2)��

ָ���ߣ�
�ӿ� Comparator<Object> �е� compare
������
o1 - Ҫ�Ƚϵĵ�һ������
o2 - Ҫ�Ƚϵĵڶ�������
���أ�
��һ������С�ڡ����ڻ���ڵڶ�������ʱ�ֱ𷵻ظ������������������
�׳���
ClassCastException - �޷�������ǿ��ת��Ϊ String��
�����°汾��ʼ��
1.2
������
Comparator

getCollationKey

public abstract CollationKey getCollationKey(String source)
���� String ת��Ϊһϵ�п��Ժ����� CollationKey ��λ���бȽϵ�λ���ڶ�αȽ��о��漰 String ʱ��CollationKey ������Ҫ���� Collator.compare���й�ʹ�� CollationKeys ��ʾ��������� Collator ����������

������
source - ��Ҫ��ת��Ϊ���������ַ�����
���أ�
���ݴ� Collator ����������Ϊ���� String ������ CollationKey�����Դ String Ϊ null���򷵻�һ�� null CollationKey��
������
CollationKey, compare(java.lang.String, java.lang.String)

equals

public boolean equals(String source,
                      String target)
���ݴ� Collator ����������Ƚ������ַ����Ƿ���ȵı�ݷ�����

������
source - Ҫ�Ƚϵ�Դ�ַ�����
target - Ҫ�Ƚϵ�Ŀ���ַ�����
���أ�
��������������������ַ�����ȣ��򷵻� true�����򷵻� false��
������
compare(java.lang.String, java.lang.String)

getStrength

public int getStrength()
���ش� Collator �� strength ���ԡ�strength ����ȷ�����ڱȽ��ڼ䱻��Ϊ��������Ͳ��켶���йش˷�����ʹ��ʾ��������� Collator ����������

���أ�
�� Collator �ĵ�ǰ strength ���ԡ�
������
setStrength(int), PRIMARY, SECONDARY, TERTIARY, IDENTICAL

setStrength

public void setStrength(int newStrength)
���ô� Collator �� strength ���ԡ�strength ����ȷ�����ڱȽ��ڼ䱻��Ϊ��������Ͳ��켶���йش˷�����ʹ��ʾ��������� Collator ����������

������
newStrength - �µ� strength ֵ��
�׳���
IllegalArgumentException - ����µ� strength ֵ���� PRIMARY��SECONDARY��TERTIARY �� IDENTICAL ֮һ��
������
getStrength(), PRIMARY, SECONDARY, TERTIARY, IDENTICAL

getDecomposition

public int getDecomposition()
��ȡ�� Collator �� decomposition ģʽ��Decomposition ģʽȷ����δ��� Unicode ����ַ������� decomposition ģʽ�����û��ڸ���͸�������������Ϊ֮�����ѡ��

���� decomposition ģʽ������ֵ�ǣ�

�й�����������������������������Щ�������ĵ���

���أ�
decomposition ģʽ
������
setDecomposition(int), NO_DECOMPOSITION, CANONICAL_DECOMPOSITION, FULL_DECOMPOSITION

setDecomposition

public void setDecomposition(int decompositionMode)
���ô� Collator �� decomposition ģʽ���й� decomposition ģʽ������������� getDecomposition��

������
decompositionMode - �µ� decomposition ģʽ��
�׳���
IllegalArgumentException - �������ֵ������Ч�� decomposition ģʽ��
������
getDecomposition(), NO_DECOMPOSITION, CANONICAL_DECOMPOSITION, FULL_DECOMPOSITION

getAvailableLocales

public static Locale[] getAvailableLocales()
����һ��������֧�����Ի��������飬����� getInstance ������Ϊ��Щ���Ի��������ѱ��ػ���ʵ���� ���ص�������� Java ����ʱ���Ѱ�װ�� CollatorProvider ʵ����֧�ֵ����Ի��������ϡ������ٰ���һ����ͬ�� Locale.US �� Locale ʵ����

���أ�
һ�����Ի������飬����Ϊ��Щ���Ի����ṩ�ѱ��ػ��� Collator ʵ����

clone

public Object clone()
��д Cloneable

���ǣ�
�� Object �е� clone
���أ�
��ʵ����һ��������
������
Cloneable

equals

public boolean equals(Object that)
�Ƚ����� Collator ������ԡ�

ָ���ߣ�
�ӿ� Comparator<Object> �е� equals
���ǣ�
�� Object �е� equals
������
that - Ҫ��� Collator ���бȽϵ� Collator��
���أ�
����� Collator ��� Collator ��ͬ���򷵻� true�����򷵻� false.
������
Object.hashCode(), Hashtable

hashCode

public abstract int hashCode()
���ɴ� Collator �Ĺ�ϣ�롣

���ǣ�
�� Object �е� hashCode
���أ�
�˶����һ����ϣ��ֵ��
������
Object.equals(java.lang.Object), Hashtable

JavaTM Platform
Standard Ed. 6

�ύ��������
�йظ���� API �ο����ϺͿ�����Ա�ĵ�������� Java SE ������Ա�ĵ������ĵ���������ϸ�ġ����򿪷���Ա���������Լ�������������ﶨ�塢ʹ�ü��ɺ͹�������ʾ����

��Ȩ���� 2007 Sun Microsystems, Inc. ��������Ȩ���� ����������֤��������������ĵ����·ַ�������