The getDouble() method of java.lang.reflect.Field used to get the value of double which has to be static or instance field type. This method also used to get the value of another primitive type convertible to type double via a widening conversion. When a class contains a static or instance double 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 double getDouble(Object obj)
throws IllegalArgumentException,
IllegalAccessException
Parameters: This method accepts a single parameter obj which is the object to extract the double value from.
Return value: This method returns the value of field converted to type double.
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 double 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 getDouble() method:
Program 1:
import java.lang.reflect.Field;
public class GFG {
public static void main(String[] args)
throws NoSuchFieldException,
SecurityException,
IllegalArgumentException,
IllegalAccessException
{
User user = new User();
Field field = User. class .getField( "Marks" );
double value = field.getDouble(user);
System.out.println( "Value of double Field"
+ " Marks is " + value);
field = User. class .getField( "Fees" );
value = field.getDouble(user);
System.out.println( "Value of double Field"
+ " Fees is " + value);
}
}
class User {
public static double Marks = 34.13 ;
public static double Fees = 3413.99 ;
public static String name = "Aman" ;
public static double getMarks()
{
return Marks;
}
public static void setMarks( double marks)
{
Marks = marks;
}
public static double getFees()
{
return Fees;
}
public static void setFees( double fees)
{
Fees = fees;
}
public static String getName()
{
return name;
}
public static void setName(String name)
{
User.name = name;
}
}
|
Output:
Value of double Field Marks is 34.13
Value of double Field Fees is 3413.99
Program 2:
import java.lang.reflect.Field;
public class GFG {
public static void main(String[] args)
throws NoSuchFieldException,
SecurityException,
IllegalArgumentException,
IllegalAccessException
{
RealNumbers real = new RealNumbers();
Field field
= RealNumbers. class
.getField( "value" );
double value = field.getDouble(real);
System.out.println( "Value: " + value);
}
static class RealNumbers {
public static double value
= 9999999.34567 ;
public static double getValue()
{
return value;
}
public static void setValue( double value)
{
RealNumbers.value = value;
}
}
}
|
Output:
Value: 9999999.34567
References: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getDouble-java.lang.Object-