Método Field setInt() en Java con ejemplos

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

public void setInt(Object obj, int i)
            throws IllegalArgumentException,
                   IllegalAccessException

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

  • obj : que es el objeto cuyo campo se debe modificar y
  • i : que es el nuevo valor para el campo de obj que se está modificando.

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 setInt(): Programa 1: 

Java

// Java program to illustrate setInt() 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 setInt is "
            + emp.salary);
 
        // Get the  field object
        Field field = Employee.class.getField("salary");
 
        // Apply setInt Method
        field.setInt(emp, 2243599);
 
        // print value of salary
        System.out.println(
            "Value of salary after "
            + "applying setInt is "
            + emp.salary);
 
        // print value of uniqueNo
        System.out.println(
            "Value of uniqueNo before "
            + "applying setInt is "
            + emp.uniqueNo);
 
        // Get the field object
        field = Employee.class.getField("uniqueNo");
 
        // Apply setInt Method
        field.setInt(emp, 123434);
 
        // print value of uniqueNo
        System.out.println(
            "Value of uniqueNo after "
            + "applying setInt is "
            + emp.uniqueNo);
    }
}
 
// sample class
class Employee {
 
    // static int values
    public static int uniqueNo = 234289;
    public static int salary = 1125213;
}
Producción:

Value of salary before applying setInt is 1125213
Value of salary after applying setInt is 2243599
Value of uniqueNo before applying setInt is 234289
Value of uniqueNo after applying setInt is 123434

Programa 2: 

Java

// Java program to illustrate setInt() 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 setInt Method
        field.setInt(no, 53266);
 
        // print value of isActive
        System.out.println(
            "Value after "
            + "applying setInt is "
            + Numbers.value);
    }
}
 
// sample Numbers class
class Numbers {
 
    // static int value
    public static int value = 13685;
}
Producción:

Value after applying setInt is 53266

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

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 *