Method类的java.lang.reflect.Method.isVarArgs()方法检查Method Object是否声明为采用可变数量的参数。如果该方法可以接受可变数量的参数,则返回true,否则返回false。
Java - Variable Arguments(Varargs)用法及代码示例:
VarArgs允许方法接受许多参数。当不知道要在方法中传递多少个参数时,与数组相比,传递参数是一种更好的方法。
用法:
public boolean isVarArgs()
返回值:当且仅当Method具有可变长度参数,否则此方法返回true,否则返回false。
以下示例程序旨在说明Method类的isVarArgs()方法:
范例1:下面的程序检查GFG类方法是否Method具有可变长度参数。在该程序中,一个方法接受VarArgs,并通过isVarArgs()检查方法是否接受VarArgs,最后打印结果。
// 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();
}
}
}
输出:
public static void GFG.paint(java.lang.Object[]) method accepts VarArgs:true
范例2:该程序将返回所有包含类java.util.Collections的变长参数的方法。
说明:在此方法中,首先创建java.util.Collections类对象。创建java.util.Collections类的类对象后,通过调用对象类的getMethods()创建方法对象的列表。遍历方法列表,并使用isVarArgs()获取方法包含可变长度参数。最后打印合成方法名称。
// 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();
}
}
}
输出:
Methods of Collections Class contains VarArgs Method:addAll
参考:
- https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isVarArgs-
- https://www.geeksforgeeks.org/variable-arguments-varargs-in-java/
相关用法
- Java Constructor isVarArgs()用法及代码示例
- Java Method类 getDeclaredAnnotations()用法及代码示例
- Java Method类 getAnnotation()用法及代码示例
- Java Method类 getGenericParameterTypes()用法及代码示例
- Java Method类 isBridge()用法及代码示例
- Java Method类 getParameterCount()用法及代码示例
- Java Method类 getName()用法及代码示例
- Java Method类 toGenericString()用法及代码示例
- Java Method类 getGenericExceptionTypes()用法及代码示例
- Java Method类 getParameterAnnotations()用法及代码示例
- Java Method类 getParameterTypes()用法及代码示例
- Java Method类 getAnnotatedReturnType()用法及代码示例
- Java Method类 getReturnType()用法及代码示例
- Java Method类 getDeclaringClass()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Method Class | isVarArgs() Method in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。