Class Character. Review of methods and constants. Class constructor
1. Class Character. Constructor Character(char)
The Character class wraps the char type. The class contains a constructor, which has the following general form:
public Character(char value);
- value – the value passed to the constructor.
Example. Ways for initializing a variable of the Character type are given.
// Initializing a variable of type Character when creating an object of a class // Method 1 - using the new operator and constructor Character ch1 = new Character('f'); System.out.println(ch1.charValue()); // Method 2 - without using the new operator and constructor Character ch2 = 'z'; System.out.println(ch2.charValue());
2. Methods of the Character class. Overview
The following are the main methods of the Character class without listing the methods that support Unicode code points:
- charValue() – returns the character wrapped in Character type;
- equals() – compare the current object with another object of type Character;
- hashCode() – get the hash code of the object;
- compareTo() – compare the current symbol with another symbol;
- equals() – compare the current object with another object for equality;
- toString() – get a representation of a character value as a String type;
- compare() – compare two char values;
- digit() – return the numerical value of a character in the specified number system;
- fordigit() – determine the symbolic representation of a number in a given number system;
- isAlphabetic() – determine if a character is alphabetic;
- isDefined() – determines if the character is defined in the Unicode encoding;
- idDigit() – determines if the character is a digit;
- isIdentifierIgnorable() – determines whether the specified symbol should be considered as ignored;
- isLowerCase() – determines whether the specified character is a lowercase letter;
- isSpace() – determines if the given character is a space based on the ISO-Latin1 code page;
- isUpperCase() – determines if the specified character is an uppercase character;
- isWhiteSpace() – determines if a specific character is a space according to the Java classification;
- reverseBytes() – returns the value obtained by reversing the byte order in the given char value;
- valueOf() – returns an instance of type Character representing a specific value of type char.
In addition to methods, the Character class defines a number of the constants:
- BYTES – contains the size of the char type in bytes;
- MAX_RADIX – the maximum radix available for converting to a string and vice versa;
- MAX_VALUE – the maximum available char value;
- MIN_VALUE – the minimum allowed value of the char type;
- SIZE – size of the type in bits;
- TYPE – contains an instance of a class of type Class for type char.
This topic covers the basic methods of the Character class. This overview does not include some of the methods that use Unicode code points and override the methods of the Object class.
3. Method charValue(). Get a character of type char
The charValue() method returns a primitive char, represented by an object of type Character. According to the Java documentation, the general form of declaring this method is as follows:
public char charValue();
// Method charValue(), char <= Character // 1. Create an object of type Character Character objC = '+'; // 2. Get a character of type char char c; c = objC.charValue(); // 3. Display the result System.out.println(c);
4. Method compareTo(). Compare the current character with another character
If you need to compare the current symbol with some other symbol, the compareTo() method is used. The syntax for declaring a method is as follows:
public int compareTo(Character anotherCharacter);
here anotherCharacter is another character to compare to the character from the current instance.
If the characters are equal, then the function returns 0. If the character of the current instance is less than anotherCharacter, then a value less than 0 is returned. “Less than” means that the character code of the current instance is less than anotherCharacter character code. If the character code of the current instance is greater than the character code passed by the parameter, the function returns a value greater than 0.
In fact, the function returns the difference between the current character code and the character code that is an input parameter.
// Method compareTo() - compare character codes. // 1. Create an object of type Character Character objC = 'G'; // 2. Compare the current object with other characters. int result; result = objC.compareTo('C'); // result = 4 result = objC.compareTo('G'); // result = 0 Character objC2 = 'F'; result = objC.compareTo(objC2); // result = 1
5. Method toString(). Get a representation of a character value as a String
The toString() method overrides the method of the same name of the Object class. The method allows you to get a string representation of the char stored in the current instance. The length of the resulting string is 1. The general form of the method declaration is as follows
public String toString();
// Method toString() - get a representation of a character value as a String type // 1. Create an object of Character type Character objC = '8'; // 2. Call the method toString() String resStr; resStr = objC.toString(); // resStr = "8" - строка
6. Constant BYTES. Read the size of the type
The BYTES constant can be used to get the size, in bytes, of the char represented in the current object in unsigned binary notation.
According to Java documentation, constant is declared as
public static final int BYTES;
// Constant BYTES - get size of char type in bytes // 1. Create an object of type Character Character objC = '+'; // 2. Call the BYTES constant int size = objC.BYTES; // size = 2
7. Constant MAX_RADIX. The maximum value of the numeral system
The MAX_RADIX constant returns the maximum number system that can be converted to strings and vice versa. According to the Java documentation, a constant declaration is of the form
public static final int MAX_RADIX;
// MAX_RADIX constant - get the maximum number system value // 1. Create an object of Character type Character objC = 'T'; // 2. Call the MAX_RADIX constant int maxR = objC.MAX_RADIX; // maxR = 36
8. Constant MAX_VALUE. Maximum allowed value of the char type
The constant MAX_VALUE has a declaration
public static final char MAX_VALUE;
and it returns the maximum char value, which is ‘\ uFFFF’.
// Constant MAX_VALUE - get the maximum value of the char type // 1. Create the object of Character type Character objC = 'f'; // 2. Use the MAX_VALUE constant int maxV = objC.MAX_VALUE; // maxV = 65535
9. Constant MIN_VALUE. Minimum allowed char value
The MIN_VALUE constant returns the minimum allowed char value, which is ‘\ u0000’. The constant declaration is as follows:
public static final char MIN_VALUE;
// Constant MIN_VALUE - get the minimum value of the char type // 1. Create an object of type Character Character objC = 'q'; // 2. Use the MIN_VALUE constant int minV = objC.MIN_VALUE; // minV = 0
10. Constant SIZE. Size of the type in bits
Using the SIZE constant, you can determine the size of a char value in bits, which is 16. The declaration of the constant is as follows
public static final int SIZE
// Constant SIZE - size of char value in bits // 1. Create an object of type Character Character objC = '%'; // 2. Use the SIZE constant int size = objC.SIZE; // size = 16
11. Constant TYPE. Type in class
The type encapsulated in the Character class is defined in the TYPE constant. This constant has the following declaration
public static final Class<Character> TYPE
// 1. Use the TYPE constant Class<Character> tp = Character.TYPE; // tp = char
12. The static method compare(). Compare two char values
The compare() method is static and is used to compare any two char values. The codes of these values are compared. The general form of a method declaration is as follows:
public static int compare(char x, char y);
The method returns 0 if the x and y values are equal. The method returns a value less than 0 if x<y. This assumes a comparison of the character code x with the character code y. The method returns a value greater than 0 if x>y. Again, character codes are compared.
The formula for calculating the difference between x and y is as follows:
// Method compare() - compare character codes // 1. Compare character codes taken by the Character wrapper Character objC1 = 'k'; Character objC2 = 'm'; // 2. Invoke the compare() method int result = Character.compare(objC1, objC2); // result = -2 // 3. Invoke the compare() for primitive types char c = 'k'; result = Character.compare(c, objC1); // result = 0 result = Character.compare('8', '4'); // result = 4
13. The static method digit(). Return the numeric value of a character in a given number system
The static method digit() returns the value of a character of type char in the specified numeral system. General form of method declaration
public static int digit(char ch, int radix);
- ch – the character to be converted to numeric representation;
- radix – the base of a system of numeration. The radix value must be between MIN_RADIX and MAX_RADIX.
If the radix value is out of range, the function returns –1. If the value of the ch character is not a persistent digit, the function returns -1. A persistend digit is a digit (or letter) included in the set of digits of a given radix number system.
For example, in the 16th number system, there is the following set of numbers: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. If you set ch = ‘ K ‘, then the function will return –1.
// Method digit() - get the numeric representation of a character in a given number system // 1. Using method for the instance of type Character Character objC = '8'; // Number 8 in decimal notation int res = Character.digit(objC, 10); // res = 8 // The number 8 in decimal notation. res = Character.digit(objC, 2); // res = -1 - error // 2. Using a method for the char type // Number 5 in the number system with base 7. res = Character.digit('5', 7); // res = 5 // The number F in base 16. res = Character.digit('F', 16); // res = 15 // The number F in the base 10 number system. res = Character.digit('F', 10); // res = -1 - error
14. The static method forDigit(). Determine the symbolic representation of a number in a given number system
This method allows you to get a symbol based on its numeric representation in a given number system. This method performs the opposite function of the digit() method.
General form of method declaration
public static char forDigit(int digit, int radix);
- digit – an integer, which is the value in the radix number system;
- radix – the number system in which the digit is converted to the resulting character.
The radix value must be between MIN_RADIX and MAX_RADIX. If digit is not in the radix character set, then the zero value ‘\u0000’ is returned. Function returns the same if the radix value is invalid.
// Method forDigit() - get the symbolic representation of a number in a given number system // Number 10 in the base 12 number system char symbol = Character.forDigit(10, 12); // symbol = 'a' // Number 15 with base 16. symbol = Character.forDigit(15, 16); // symbol = 'f' // Number 8 in the number system 3. symbol = Character.forDigit(8, 3); // symbol = '\u0000' - error // Number 12 in base 10 number system. symbol = Character.forDigit(12, 10); // symbol = '\u0000' - error // Number 3 in base 10 number system. symbol = Character.forDigit(3, 10); // symbol = '3'
15. Method reverseBytes(). Reverse bytes in a char value
The static reverseBytes() method returns an input char value with bytes in reverse order. According to the Java documentation, the method declaration is as follows
public static char reverseBytes(char ch);
- ch – the value, the bytes of which are to be represented in reverse order.
// Method reverseBytes() - get the reversed value of a char. char c1 = '\u3800'; char c2 = Character.reverseBytes(c1); // c2 = '\u0038' = '8' System.out.println("c2 = " + c2); // c2 = 8
16. Method valueOf(). Get an instance of the Character type
The valueOf() method returns an instance of type Character based on a value of type char.
The general syntax of method declaring is:
public static Character valueOf(char c)
- c – the character to be wrapped in a Character wrap.
// Method valueOf() - get the instance of type Character Character objC = Character.valueOf('x'); char ch = objC.charValue(); // ch = 'x'