Método Field setDouble() en Java con ejemplos

setDouble() método de java.lang.reflect.Field utilizado para establecer el valor de un campo como un doble en el objeto especificado. Cuando necesite establecer el valor de un campo de un objeto como doble, puede usar este método para establecer el valor sobre un objeto.

 Sintaxis:

public void setDouble(Object obj, double d)
            throws IllegalArgumentException,
                   IllegalAccessException

Parámetros: Este método acepta dos parámetros:

  • obj : que es el objeto cuyo campo se debe modificar y
  • d : que es el nuevo valor para el campo de obj que se modifica.

Retorno : este método no devuelve nada. 

Excepción : este método arroja la siguiente excepción:

  • IllegalAccessException: si este objeto de campo aplica el control de acceso del lenguaje Java y el campo subyacente es inaccesible o definitivo.
  • IllegalArgumentException: si el objeto especificado no es una instancia de la clase o interfaz que declara el campo subyacente (o una subclase o implementador de la misma), o si falla una conversión de desempaquetado.
  • NullPointerException: si el objeto especificado es nulo y el campo es un campo de instancia.
  • ExceptionInInitializerError: si falla la inicialización provocada por este método.

Los siguientes programas ilustran el método setDouble(): 

Programa 1: 

Java

// Java program to illustrate setDouble() method
 
import java.lang.reflect.Field;
 
public class GFG {
 
    public static void main(String[] args)
        throws Exception
    {
 
        // create user object
        Employee emp = new Employee();
 
        // print value of salary
        System.out.println(
            "Value of salary before "
            + "applying setDouble is "
            + emp.salary);
 
        // Get the field object
        Field field = Employee.class
                          .getField("salary");
 
        // Apply setDouble Method
        field.setDouble(emp, 50000.99);
 
        // print value of salary
        System.out.println(
            "Value of salary after "
            + "applying setDouble is "
            + emp.salary);
 
        // print value of pf
        System.out.println(
            "Value of pf before "
            + "applying setDouble is "
            + emp.pf);
 
        // Get the field object
        field = Employee.class.getField("pf");
 
        // Apply setDouble Method
        field.setDouble(emp, 1234.34);
 
        // print value of pf
        System.out.println(
            "Value of pf after "
            + "applying setDouble is "
            + emp.pf);
    }
}
 
// sample class
class Employee {
 
    // static double values
    public static double pf = 2342.89;
    public static double salary = 43125;
}
Producción:

Value of salary before applying setDouble is 43125.0
Value of salary after applying setDouble is 50000.99
Value of pf before applying setDouble is 2342.89
Value of pf after applying setDouble is 1234.34

Programa 2: 

Java

// Java program to illustrate setDouble() method
 
import java.lang.reflect.Field;
 
public class GFG {
 
    public static void main(String[] args)
        throws Exception
    {
 
        // create Numbers object
        Numbers no = new Numbers();
 
        // Get the value field object
        Field field = Numbers.class
                          .getField("value");
 
        // Apply setDouble Method
        field.setDouble(no, 53245.466);
 
        // print value of isActive
        System.out.println(
            "Value after "
            + "applying setDouble is "
            + Numbers.value);
    }
}
 
// sample Numbers class
class Numbers {
 
    // static double value
    public static double value = 1232.3685;
}
Producción:

Value after applying setDouble is 53245.466

Referencia: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#setDouble-java.lang.Object-double-

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *