Java Constructor isVarArgs()方法及示例
java.lang.reflect.Constructor类 的 isVarArgs() 方法用于返回布尔值true,如果该Constructor可以接受可变数量的参数作为参数,否则该方法将返回false.VarArgs允许Constructor接受一些参数,当不知道要在Constructor中传递多少参数时,使用VarArgs是比数组更好的传递参数方法。
语法
public boolean isVarArgs()
参数: 此方法不接受任何参数。
返回 :当且仅当该可执行文件被声明为接受可变数量的参数时,该方法返回真。
下面的程序说明了isVarArgs()方法:
程序1 :
// Java program to illustrate isVarArgs() method
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
public class GFG {
public static void main(String[] args)
{
// create a class object
Class classObj = shape.class;
// get Constructor object
// array from class object
Constructor[] cons = classObj.getConstructors();
// check isVargs or not
boolean isVargs = cons[0].isVarArgs();
// print result
System.out.println("isVargs : " + isVargs);
}
public class shape {
public shape(Object... objects)
{
}
}
}
输出:
isVargs : true
程序2
// Java program to illustrate isVarArgs() method
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
public class GFG {
public static void main(String[] args)
{
// create a class object
Class classObj = String.class;
// get Constructor object
// array from class object
Constructor[] cons = classObj.getConstructors();
for (int i = 0; i < cons.length; i++) {
// check isVargs or not
boolean isVargs = cons[i].isVarArgs();
// print result
System.out.println(cons[i]);
System.out.println("isVargs : " + isVargs);
}
}
}
输出:
public java.lang.String(byte[], int, int)
isVargs : false
public java.lang.String(byte[], java.nio.charset.Charset)
isVargs : false
public java.lang.String(byte[], java.lang.String) throws java.io.UnsupportedEncodingException
isVargs : false
public java.lang.String(byte[], int, java.nio.charset.Charset) public java.lang.String(byte[], int, java.neo.Charset.Comm.String(byte[], int, int, java.nio.charset.Charset)
isVargs : false
public java.lang.String(byte[], int, int, java.lang.String) throws java.io.UnsupportedEncodingException
isVargs : false
public java.lang.String(java.lang.StringBuilder)
isVargs : false
public java.lang.String(java.lang.StringBuffer)
isVargs : false
public java.lang.String(byte[])
isVargs : false
public java.lang.String(int[], int, int)
isVargs : false
public java.lang.String()
isVargs : false
public java.lang.String(char[] )
isVargs : false
public java.lang.String(java.lang.String)
isVargs : false
public java.lang.String(char[], int, int)
isVargs : false
public java.lang.String(byte[], int)
isVargs : false
public java.lang.String(byte[], int, int)
isVargs : false
参考资料: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#isVarArgs()