|
|
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
You can categorize characters according to their properties. For instance, X is an uppercase letter and 4 is a decimal digit. Checking character properties is a common way to verify the data entered by end users. If you are selling books online, for example, your order entry screen should verify that the characters in the quantity field are all digits.Developers who aren't used to writing global software might determine a character's properties by comparing it with character constants. For instance, they might write code like this:
char ch; ... // This code is WRONG! if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) // ch is a letter ... if (ch >= '0' && ch <= '9') // ch is a digit ... if ((ch == ' ') || (ch =='\n') || (ch == '\t')) // ch is a whitespaceThe preceding code is wrong because it works only with English and a few other languages. To internationalize the previous example, replace it with the following statements:
Thechar ch; ... // This code is OK! if (Character.isLetter(ch)) ... if (Character.isDigit(ch)) ... if (Character.isSpaceChar(ch))Charactermethods rely on the Unicode Standard for determining the properties of a character. Unicode is a 16-bit character encoding that supports the world's major languages. In the Java programming language
charvalues represent Unicode characters. If you check the properties of acharwith the appropriateCharactermethod, your code will work with all major languages. For example, theCharacter.isLettermethod returnstrueif the character is a letter in Chinese, German, Arabic, or another language.The following list gives some of the most useful
Charactercomparison methods. TheCharacterAPI documentation fully specifies the methods.
isDigitisLetterisLetterOrDigitisLowerCaseisUpperCaseisSpaceCharisDefinedThe
Character.getTypemethod returns the Unicode category of a character. Each category corresponds to a constant defined in theCharacterclass. For instance,getTypereturns theCharacter.UPPERCASE_LETTERconstant for the character A. For a complete list of the category constants returned bygetType, see theCharacterAPI documentation. The following example shows how to use
getTypeand theCharactercategory constants. All of the expressions in theseifstatements aretrue:if (Character.getType('a') == Character.LOWERCASE_LETTER) ... if (Character.getType('R') == Character.UPPERCASE_LETTER) ... if (Character.getType('>') == Character.MATH_SYMBOL) ... if (Character.getType('_') == Character.CONNECTOR_PUNCTUATION)
|
|
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
Copyright 1995-2004 Sun Microsystems, Inc. All rights reserved.