Método Field get() en Java con ejemplos

El método get() de java.lang.reflect.Field utilizado para obtener el valor del objeto de campo. Si Field tiene un tipo primitivo, el valor del campo se envuelve automáticamente en un objeto. Si el campo es un campo estático, el argumento de obj se ignora; puede ser nulo De lo contrario, el campo subyacente es un campo de instancia. Este método lanza una NullPointerException si el argumento obj especificado es nulo y una IllegalArgumentException si el objeto especificado no es una instancia de la clase o interfaz que declara el campo subyacente. Si el campo está oculto en el tipo de obj, el valor del campo se obtiene de acuerdo con las reglas anteriores.

Sintaxis:

public double get(Object obj)
             throws IllegalArgumentException,
                    IllegalAccessException

Parámetros: este método acepta un solo parámetro obj , que es el objeto del que extraer el valor del campo.

Valor devuelto: Este método devuelve el valor del campo representado en el objeto obj; los valores primitivos se envuelven en un objeto apropiado antes de ser devueltos.

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

  1. IllegalAccessException : si este objeto de campo aplica el control de acceso del lenguaje Java y el campo subyacente es inaccesible.
  2. 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).
  3. NullPointerException : si el objeto especificado es nulo y el campo es un campo de instancia.
  4. ExceptionInInitializerError : si falla la inicialización provocada por este método.

Los siguientes programas ilustran el método get():
Programa 1:

// Java program to demonstrate get() method
  
import java.lang.reflect.Field;
  
public class GFG {
  
    public static void main(String[] args)
        throws Exception
    {
  
        // Create the User class object
        User user = new User();
  
        // Get the all field objects of User class
        Field[] fields = User.class.getFields();
  
        for (int i = 0; i < fields.length; i++) {
  
            // get value of the fields
            Object value = fields[i].get(user);
  
            // print result
            System.out.println("Value of Field "
                               + fields[i].getName()
                               + " is " + value);
        }
    }
}
  
// sample User class
class User {
  
    // static double values
    public static double Marks = 34.13;
    public static int Fees = 34199;
    public static String name = "Aman";
  
    public static double getMarks()
    {
        return Marks;
    }
  
    public static void setMarks(double marks)
    {
        Marks = marks;
    }
  
    public static int getFees()
    {
        return Fees;
    }
  
    public static void setFees(int fees)
    {
        Fees = fees;
    }
  
    public static String getName()
    {
        return name;
    }
  
    public static void setName(String name)
    {
        User.name = name;
    }
}
Producción:

Value of Field Marks is 34.13
Value of Field Fees is 34199
Value of Field name is Aman

Programa 2:

// Java program to demonstrate get() method
  
import java.lang.reflect.Field;
  
public class GFG {
  
    public static void main(String[] args)
        throws Exception
    {
  
        // Create the RealNumbers class object
        Fields field = new Fields();
  
        // Get the all field objects of User class
        Field[] fieldsOfFieldClass
            = Fields.class.getFields();
  
        for (int i = 0;
             i < fieldsOfFieldClass.length; i++) {
  
            // get value
            Object value = fieldsOfFieldClass[i]
                               .get(field);
  
            // print result
            System.out.println(
                "Value of Field "
                + fieldsOfFieldClass[i].getName()
                + " is " + value);
        }
    }
  
    // RealNumbers class
    static class Fields {
  
        // double field
        public static final double doubleValue
            = 9999999.34567;
        public static final int intValue
            = 9999999;
        public static final float floatValue
            = 9999999.34567f;
        public static final
            boolean booleanValue
            = true;
    }
}
Producción:

Value of Field doubleValue is 9999999.34567
Value of Field intValue is 9999999
Value of Field floatValue is 9999999.0
Value of Field booleanValue is true

Referencias: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#get-java.lang.Object-

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 *