当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.lang.reflect.Parameter用法及代码示例


java.lang.reflect.Parameter 类提供有关方法参数的信息,包括它们的名称和修饰符。它还提供了获取参数属性的另一种方法。

Parameter 类的一些有用方法是:

  1. public int getModifiers():它返回此 Parameter 对象表示的参数的修饰符标志。
  2. public String getName():返回方法参数的名称。
  3. 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 


相关用法


注:本文由纯净天空筛选整理自kapilnama1998大神的英文原创作品 java.lang.reflect.Parameter Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。