Java国际化:字符方法

时间:2020-01-09 10:35:23  来源:igfitidea点击:

Java在java.lang.Character类中有一些方法可用于Java应用程序的国际化。这些方法可以判断给定字符是否是跨不同语言的字母,数字,空格等。该方法适用于unicode字符。

当处理来自多种不同语言的字母和符号时,仅检查字符(ascii值)是否在小写或者大写字母范围内,或者仅在通常的ascii字符范围内在ascii值的数字范围内是不安全的用过的。为了安全地检查一个字符是字母,数字还是空格字符,我们需要使用java.lang.Character中的方法。

方法是:

Character.isDigit()
Character.isLetter()
Character.isLetterOrDigit()
Character.isLowerCase()
Character.isUpperCase()
Character.isSpaceChar()

这些方法中的每一个都以`char'作为参数。以下是一些用法示例:

char aChar = 'C';

Character.isDigit (aChar);        // returns false
Character.isLetter(aChar);        // returns true
Character.isLetterOrDigit(aChar); // returns true
Character.isLowerCase(aChar);     // returns false
Character.isUpperCase(aChar);     // returns true
Character.isSpaceChar(aChar);     // returns false

getType()

Character类还具有一个getType()方法,该方法返回某个字符的类型。返回的类型是一个" int",它与" Character"类中的一组预定义常量匹配。这是一个例子:

char aChar = 'æ';
int type = Character.getType(aChar);

if(type == Character.LOWERCASE_LETTER) { ... }
if(type == Character.UPPERCASE_LETTER) { ... }

我们还可以检查其他几个常量来检查字符类型。在JavaDoc中查找Character类以获取更多常量。

isDefined()

Character类还具有一种方法,该方法使我们能够确定给定的int的值是否定义了Unicode中的字符。该方法称为" isDefined()"。这是一个例子:

char aChar = 'A';
int  anInt = aChar;

bolean isDefined = Character.isDefined(anInt);