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:
- IllegalAccessException : si este objeto de campo aplica el control de acceso del lenguaje Java y el campo subyacente es inaccesible.
- 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).
- 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 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; } }
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; } }
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