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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。