Clase de método | Método isVarArgs() en Java

El método java.lang.reflect .Method.isVarArgs() de la clase Method comprueba si se declaró Method Object para tomar un número variable de argumentos o no. Si el método puede tomar un número variable de argumentos, devuelve verdadero; de lo contrario, devolverá falso.

VarArgs (argumentos de longitud variable) :

VarArgs permite que el método acepte una serie de argumentos. Es un mejor enfoque para pasar argumentos que una array cuando no se sabe cuántos argumentos pasar en el método.

Sintaxis:

public boolean isVarArgs()

Valor devuelto: este método devuelve verdadero si y solo si el método tiene argumentos de longitud variable; de ​​lo contrario, es falso.

Los siguientes programas ilustran el método isVarArgs() de la clase Method:

Ejemplo 1: El siguiente programa verifica los métodos de la clase GFG si Method tiene argumentos de longitud variable o no. En este programa, un método acepta VarArgs y, mediante isVarArgs(), el método de verificación acepta VarArgs o no y, por último, imprime el resultado.

// Program Demonstrate isVarArgs() method
// of Method Class.
  
import java.lang.reflect.Method;
  
public class GFG {
  
    // create another method
    public static void paint(Object... values)
    {
        String message = "A Computer Science portal for geeks";
    }
  
    // create main method
    public static void main(String args[])
    {
  
        try {
  
            // get list of declared method objects of class GFG
            Method[] methods = GFG.class.getMethods();
  
            // loop through method list
            for (Method method : methods) {
  
                // check method conts VarArgs or not
                boolean isVarArgs = method.isVarArgs();
  
                // print result if VarArgs are present
                if (isVarArgs)
                    System.out.println(method + " method accepts VarArgs :"
                                       + isVarArgs);
            }
        }
        catch (Exception e) {
  
            // Print Exception if any Exception occurs
            e.printStackTrace();
        }
    }
}
Producción:

public static void GFG.paint(java.lang.Object[]) method accepts VarArgs :true

Ejemplo 2: este programa devolverá todos los métodos que contienen argumentos de longitud variable de la clase java.util.Collections.

Explicación: en este método, al principio se crea el objeto de clase java.util.Collections. Después de crear Class Object de java.util.Collections Class, se crea una lista de Method Objects llamando a getMethods() de class Object. Iterar a través de la lista de métodos y obtener el método contiene argumentos de longitud variable usando isVarArgs(). Por último, escriba el nombre del método sintético.

// Program Demonstrate isVarArgs() method
// of Method Class.
  
import java.lang.reflect.Method;
import java.util.Collections;
public class GFG {
  
    // create main method
    public static void main(String args[])
    {
  
        try {
  
            // create class object for class Collections
            Class c = Collections.class;
  
            // get list of Method object
            Method[] methods = c.getMethods();
  
            System.out.println("Methods of Collections Class"
                               + " contains VarArgs");
            // Loop through Methods list
            for (Method m : methods) {
  
                // check whether the method  contains VarArgs or not
                if (m.isVarArgs())
                    // Print Method name
                    System.out.println("Method: " + m.getName());
            }
        }
        catch (Exception e) {
            // print Exception is any Exception occurs
            e.printStackTrace();
        }
    }
}
Producción:

Methods of Collections Class contains VarArgs
Method: addAll

Referencia:

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 *