java.lang.reflect.Parameter 类提供有关方法参数的信息,包括它们的名称和修饰符。它还提供了获取参数属性的另一种方法。
Parameter 类的一些有用方法是:
- public int getModifiers():它返回此 Parameter 对象表示的参数的修饰符标志。
- public String getName():返回方法参数的名称。
- public Type getParameterizedType():返回参数的类型。
下面列出了java.lang.reflect.Parameter类的所有方法:
方法 | 说明 |
---|---|
equals(Object obj) | 基于可执行文件和索引进行比较。 |
Field getAnnotatedType() | 返回一个AnnotatedType对象,该对象表示使用类型来指定此Parameter表示的形参的类型。 |
getAnnotation(Class<T> 注释类) | 如果存在指定类型的该元素的注释,则返回该元素的注释,否则返回 null。 |
Class getAnnotations() | 返回此元素上存在的注释。 |
getAnnotationsByType(Class<T> 注释类) | 返回与该元素关联的注释。 |
getDeclaredAnnotations() | 返回直接出现在该元素上的注释。 |
getDeclaredAnnotation(Class<T> 注释类) | 如果直接存在这样的注释,则返回指定类型的该元素的注释,否则返回 null。 |
getDeclaringExecutable() | 返回声明此参数的可执行文件。 |
getDeclaredAnnotationsByType(Class<T> 注释类) | 如果指定类型的注释直接存在或间接存在,则返回此元素的注释。 |
getModifiers() | 获取由此 Parameter 对象表示的该参数的修饰符标志。 |
File getName() | 返回参数的名称。 |
getParameterizedType() | 返回一个 Type 对象,该对象标识由此 Parameter 对象表示的参数的参数化类型。 |
Field getType() | 返回一个 Class 对象,该对象标识此 Parameter 对象表示的参数的声明类型。 |
hashCode() | 根据可执行文件的哈希码和索引返回哈希码。 |
isImplicit () | 如果参数在源代码中隐式声明,则返回 true,否则返回 false |
isNamePresent () | 如果参数具有与类文件一致的名称,则返回 true |
isVarArgs () | 如果此参数表示变量参数列表,则返回 true。 |
isSynthetic() | 如果参数未隐式或显式声明则返回 true,否则返回 false |
toString () | 返回说明该参数的字符串 |
例子:
Java
// Java program to illustrate Parameter class of
// java.lang.reflect package
// Importing java.lang.reflect package to
// obtain reflective information about classes and objects
import java.lang.reflect.*;
// Class 1
// Helper class
class Calculate {
// Function 1
// To add to numbers
int add(int a, int b)
{
// Returning the sum
return (a + b);
}
// Function 2
// To multiply two numbers
int mul(int a, int b)
{
// Returning the number obtained
// after multiplying numbers
return (b * a);
}
// Function 3
// Subtracting two numbers
long subtract(long a, long b)
{
// Return the numbers after subtracting
// second number from the first number
return (a - b);
}
}
// Class 2
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating object of helper class
// in the main method
Class cls = Calculate.class;
// Getting all the methods of
// a particular class
Method[] methods = cls.getDeclaredMethods();
// Iterating over each method
// using the for each loop
for (Method method : methods) {
// Print and display the method name
// using getName() method
System.out.print(
"Method Name: " + method.getName() + " ");
// Getting all the parameters of
// a particular method
Parameter parameters[] = method.getParameters();
// Print and display
System.out.println("\nparameters of "
+ method.getName()
+ "() methods: ");
// Iterating over parameters
// using for each loop
for (Parameter parameter : parameters) {
// Display the type of parameters
System.out.print(
parameter.getParameterizedType() + " ");
// Print the parameters of method
System.out.print(parameter.getName() + " ");
}
// New line
System.out.print("\n\n");
}
}
}
输出
Method Name: subtract parameters of subtract() methods: long arg0 long arg1 Method Name: add parameters of add() methods: int arg0 int arg1 Method Name: mul parameters of mul() methods: int arg0 int arg1
相关用法
- Java java.lang.reflect.Proxy.getInvocationHandler()用法及代码示例
- Java java.lang.reflect.Proxy.getProxyClass()用法及代码示例
- Java java.lang.reflect.Proxy.isProxyClass()用法及代码示例
- Java java.lang.reflect.Proxy.newProxyInstance()用法及代码示例
- Java java.lang.reflect.Proxy用法及代码示例
- Java java.lang.reflect.AccessibleObject.getAnnotation()用法及代码示例
- Java java.lang.reflect.AccessibleObject.getAnnotations()用法及代码示例
- Java java.lang.reflect.AccessibleObject.getDeclaredAnnotations()用法及代码示例
- Java java.lang.reflect.AccessibleObject.isAccessible()用法及代码示例
- Java java.lang.reflect.AccessibleObject.setAccessible()用法及代码示例
- Java java.lang.reflect.Array.get()用法及代码示例
- Java java.lang.reflect.Array.getBoolean()用法及代码示例
- Java java.lang.reflect.Array.getByte()用法及代码示例
- Java java.lang.reflect.Array.getChar()用法及代码示例
- Java java.lang.reflect.Array.getDouble()用法及代码示例
- Java java.lang.reflect.Array.getFloat()用法及代码示例
- Java java.lang.reflect.Array.getInt()用法及代码示例
- Java java.lang.reflect.Array.getLength()用法及代码示例
- Java java.lang.reflect.Array.getLong()用法及代码示例
- Java java.lang.reflect.Array.getShort()用法及代码示例
- Java java.lang.reflect.Array.newInstance()用法及代码示例
- Java java.lang.reflect.Array.set()用法及代码示例
- Java java.lang.reflect.Array.setBoolean()用法及代码示例
- Java java.lang.reflect.Array.setByte()用法及代码示例
- Java java.lang.reflect.Array.setChar()用法及代码示例
注:本文由纯净天空筛选整理自kapilnama1998大神的英文原创作品 java.lang.reflect.Parameter Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。