サンプル

public static void main(String[] args){
char ch = '\u4e2d';
boolean result = ( (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'));
System.out.println(result);
}
解決策
ICU 2.6.1 を使用します。
文字は、ユニコード のint に置き換えて、直接比較します。

public static void main(String[] args){
char ch = '\u4e2d';
boolean result = com.ibm.icu.lang.UCharacter.isLetter(ch);
System.out.println(result);
}

解決策
ICU 2.6.1 を使用します。
文字が英字で、比較がテスト目的の場合は、次のメソッドを使用します。
com.ibm.icu.lang.UCharacter.IsLetter (int)
if (ch1 == ch2) {
result = true;
} else {
result = false;
}
解決策
ICU 2.6.1 を使用します。
ロケール・センシティブ比較の場合、以下のようにします。
  1. 文字を java.lang.String に変換します。
  2. 以下を使用します。
    com.ibm.icu.text.Collator.compare (java.lang.Object, java.lang.Object)
String str1="\ud800\udc01";
String str2="\ud800\udc00";
com.ibm.icu.text.Collator collator = com.ibm.icu.text.Collator.getInstance(java.util.Locale.ENGLISH); //特定のロケールには Collator を作成します
int results = collator.compare(str1,str2);