The getChar() method of java.lang.reflect.Field is used to get the value of char which has to be static or instance field type. This method also used to get the value of another primitive type convertible to type char via a widening conversion. When a class contains a static or instance Char field and we want to get the value of that field then we can use this method to return the value of Field.
Syntax:
public char getChar(Object obj)
throws IllegalArgumentException,
IllegalAccessException
Parameters: This method accepts a single parameter obj which is the object to extract the char value from.
Return value: This method returns the value of field converted to type char.
Exception: This method throws following Exception:
- IllegalAccessException: This exception is thrown if Field object is enforcing Java language access control and the underlying field is inaccessible.
- IllegalArgumentException: This exception is thrown if the specified object is not an instance of the class or interface declaring the underlying field or if the field value cannot be converted to the type char by a widening conversion.
- NullPointerException: This exception is thrown if the specified object is null and the field is an instance field.
- ExceptionInInitializerError: This exception is thrown if the initialization provoked by this method fails.
Below programs illustrate getChar() method:
Program 1:
// Java program to demonstrate the above method  import java.lang.reflect.Field;  public class GFG {      public static void main(String[] args)        throws NoSuchFieldException,               SecurityException,               IllegalArgumentException,               IllegalAccessException    {          // Create the User class object        User user = new User();          // Get the identificationChar field object        Field field            = User.class.getField("identificationChar");          // Apply getChar Method on User Object        // to get the value of identificationChar field        char value = field.getChar(user);          // print result        System.out.println("Value of Char Field"                           + " identificationChar is "                           + value);          // Now Get the selectionChar field object        field = User.class.getField("selectionChar");          // Apply getChar Method on User Object        // to get the value of selectionChar field        value = field.getChar(user);          // print result        System.out.println("Value of Char Field"                           + " selectionChar is "                           + value);    }}  // sample User classclass User {      // static char values    public static char identificationChar = 'E';    public static char selectionChar = 'A';    public static String name = "Aman";      // getter and setter methods    public static char getIdentificationChar()    {        return identificationChar;    }      public static void    setIdentificationChar(char identificationChar)    {        User.identificationChar = identificationChar;    }      public static char getSelectionChar()    {        return selectionChar;    }      public static void    setSelectionChar(char selectionChar)    {        User.selectionChar = selectionChar;    }      public static String getName()    {        return name;    }      public static void setName(String name)    {        User.name = name;    }} |
Value of Char Field identificationChar is E Value of Char Field selectionChar is A
Program 2:
// Java program to demonstrate the above method  import java.lang.reflect.Field;  public class GFG {      public static void main(String[] args)        throws NoSuchFieldException,               SecurityException,               IllegalArgumentException,               IllegalAccessException    {          // Create the Alphabets class object        Alphabets alphabet = new Alphabets();          // Get the value field object        Field field            = Alphabets.class.getField("value");          // Apply getChar Method on field Object        // to get the value of value field        char value = field.getChar(alphabet);          // print result        System.out.println("Value: " + value);    }      // Alphabets class    static class Alphabets {          // char field        public static char value = 'Q';          // getter and setter methods        public static char getValue()        {            return value;        }          public static void setValue(char value)        {            Alphabets.value = value;        }    }} |
Value: Q
References: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getChar-java.lang.Object-
