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