public final class Character
extends Object
implements Serializable, Comparable
Following methods of Character class are discussed here :
1. charCount() :
java.lang.charCount() method uses Unicode point to return the number of char values to represent the argument char values. A Unicode code point is used for character values in the range between U+0000 and U+10FFFF and for 16-bit char values that are code units of the UTF-16 encoding.Syntax :
public static int charCount(int argchar)
Parameters :
argchar : char i.e. it's Unicode point
to be counted
Return :
2 if the character is valid i.e. > or =
to 0X1000(supplementary character); else 1
public char charValue()
Return :
primitive character value
of defined char Object.
3. codePointAt() :
java.lang.Character.codePointAt(char[ ] array, int position) method returns Unicode Point of the character array present at the argumented position.Syntax :
public static int
codePointAt(char[] array,
int position)
Parameters :
array : character array
position : array index
of character whose Unicode
Point value you need.
Return :
Unicode point
of the character array present
at the given position
Java code explaining use of charCount(), charValue(), codePointat() methods
import java.lang.Character;
public class NewClass {
public static void main(String[] args)
{
// Use of charCount() method
int geek = 0x9999, // < 0x10000
geek1 = 0x10000, // = 0x10000
geek2 = 0x10001; // > 0x10000
int check = Character.charCount(geek);
int check1 = Character.charCount(geek1);
int check2 = Character.charCount(geek2);
if (check == 2) // Checking for geek
System.out.println
("Valid Character geek");
else
System.out.println
("Invalid Character geek");
if (check1 == 2) // Checking for geek1
System.out.println
("Valid Character geek1");
else
System.out.println
("Invalid Character geek1");
if (check2 == 2) // Checking for geek2
System.out.println
("Valid Character geek2");
else
System.out.println
("Invalid Character geek2");
System.out.println("");
// Use of charValue() method
Character m; // Character object m
m = new Character('g');
// Assigning value g to m;
char gfg;
gfg = m.charValue();
System.out.println
("Primitive value of gfg : "+ gfg);
System.out.println("");
// Use of codePointAt()
char[] arg = new char[]
{ 'g', 'e', 'e', 'k', 's' };
int val, val1, position = 3;
val = Character.codePointAt(arg, position);
val1 = Character.codePointAt(arg, 0);
System.out.println("Unicode code
point at "+ position + " : " + val);
System.out.println
("Unicode code point at 0 : "
+ val1);
}
}
Output
Invalid Character geek
Valid Character geek1
Valid Character geek2
Primitive value of gfg : g
Unicode code point at 3 : 107
Unicode code point at 0 : 103
public static int codePointBefore(char[]
array, int position)
or
public static int codePointBefore(char[]
array, int position, int start)
Parameters :
array : character array
position : array index
of character following the
Unicode Point value you need.
start : start index o
f the character array
Return :
Unicode point
of the character array present
before the given position
public static int codePointCount(char[] array,
int start, int len)
Parameters :
array : character array
start : starting index
of the array
length : length
of the character sub-array
Return :
no. of Unicode Point
of the sub-character array.
Exception :
--> NullPointerException
--> IndexOutOfBoundsException
public int compareTo(Character argChar)
Parameters :
argChar : character to be compared with
Return :
= 0 : if both characters
are equal
> 0 : if given this character is greater
< 0 : if argumented character is greater
Java code explaining use of codePointBefore(), codePointCount(), compareTo() methods
// Java program explaining Character
class methods
// codePointBefore(), codePointCount(),
compareTo()
import java.lang.Character;
public class NewClass
{
public static void main(String[] args)
{
// Use of codePointBefore()
char[] arg = new char[]
{ 'g', 'e', 'e', 'k', 's' };
int position = 4;
int val = Character.codePointBefore
(arg, position);
int val1 =Character.codePointBefore
(arg, 1);
int val2 = Character.codePointBefore
(arg, 3, 1);
System.out.println
( "Unicode code point before "
+ position +" : " + val );
System.out.println
( "Unicode code point before 1 : " + val1 );
System.out.println( "Unicode code point
before 3 to 1 : "
+ val2);
System.out.println("");
// Use of codePointCount()
int count = Character.codePointCount
(arg, 1,3 );
System.out.println("No. of Unicode points : "
+ count)
System.out.println("");
// Use of compareTo()
Character g1 = new Character('g');
Character g2 = new Character('o');
int check = g1.compareTo(g2);
System.out.println("g1 < g2 : " + check);
int check1 = g2.compareTo(g1);
System.out.println("g2 > g1 : " + check1);
int check2 = g2.compareTo(g2);
System.out.println("g2 = g2 : " + check2);
}
}
Output
Unicode code point before 4 : 107
Unicode code point before 1 : 103
Unicode code point before 3 to 1 : 101
No. of Unicode points : 3
g1 < g2 : -8
g2 > g1 : 8
g2 = g2 : 0Unicode code point before 4 : 107
Unicode code point before 1 : 103
Unicode code point before 3 to 1 : 101
No. of Unicode points : 3
g1 < g2 : -8
g2 > g1 : 8
g2 = g2 : 0
public boolean equals(Object charObj)
Parameters :
charObj : char object to compare with
Return :
true if both the objects are equal, else false.
public static int getNumericValue(char arg)
Parameters :
arg : char value
Return :
int value for the specific Unicode character.
if Unicode value doesn't exists -1 is returned.
public static int getType(char arg)
Parameters :
arg : char value
Return :
int value for the argumented character
representing its general type category.
Java code explaining use of equals(), getNumericValue(), getType() methods
import java.lang.Character;
public class NewClass
{
public static void main(String[] args)
{
Character g1 = new Character('g');
Character g2 = new Character('O');
boolean check = g1.equals(g2);
boolean check1 = g1.equals(g1);
System.out.println("Are g and o equal?
: " + check);
System.out.println("Are g and g equal? :
" + check1);
System.out.println("");
// Use of getNumericValue() method
int c = Character.getNumericValue(g1);
int c1 = Character.getNumericValue(g2);
System.out.println("Int value for g
: " + c);
System.out.println("Int value for A
: " + c1);
System.out.println("");
// Use of getType() method
Character g3 = new Character('$');
Character g4 = new Character('6');
int r1 = Character.getType(g1);
int r2 = Character.getType(g2);
int r3 = Character.getType(g3);
int r4 = Character.getType(g4);
System.out.println("Type for lowercase :
" + r1);
System.out.println("Type for uppercase :
" + r2);
System.out.println("Type for currency :
" + r3);
System.out.println("Type for numeric :
" + r4);
}
}
Output
Are g and o equal? : false
Are g and g equal? : true
Int value for g : 16
Int value for A : 24
Type for lowercase : 2
Type for uppercase : 1
Type for currency : 26
Type for numeric : 9