The java.lang.reflect.Method.isVarArgs() method of Method class checks whether Method Object was declared to take a variable number of arguments or not. If the method can take a variable number of arguments then returns true otherwise it will return false. VarArgs(variable-length arguments): VarArgs allows method to accept a number of arguments. It is a better approach to pass arguments than array when it is not known how many arguments to pass in method.
Syntax:
public boolean isVarArgs()
Return Value: This method returns true if and only if Method has variable-length arguments else false.
Below programs illustrates isVarArgs() method of Method class:
Example 1: Below program checks GFG class methods whether Method has variable-length arguments or not. In this program a method accepts VarArgs and by isVarArgs() check method accept VarArgs or not and at last print the result.
// 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 contains 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();
}
}
} |
public static void GFG.paint(java.lang.Object[]) method accepts VarArgs :true
Example 2: This program is going to return all the Methods which contains variable-length arguments of class java.util.Collections. Explanation: In this Method at first java.util.Collections Class Object is created. After creating Class Object of java.util.Collections Class a list of Method Objects is created by calling getMethods() of class Object. Iterate through Method list and get Method contains variable-length arguments using isVarArgs(). At last print Synthetic Method name.
// 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 if any Exception occurs
e.printStackTrace();
}
}
} |
Methods of Collections Class contains VarArgs Method: addAll
Reference:
- https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isVarArgs–
- https://www.geeksforgeeks.org/variable-arguments-varargs-in-java/amp/