CodesJava

Easy learning with example program codes

Java reflection get method parameter types


The java.lang.Class provides the methods to examine the runtime properties of the object including its members and type information. For every type of object, the JVM instantiates an immutable instance of java.lang.Class. Using reflection, we can get the metadata of a class at run time.

The getMethod() is used to get public method in java. It takes method name and parameter types of the method.

The getParameterTypes() method is used to method parameter types in java.

Example

TestClass.java

package com.codesjava;
 
public class TestClass {
	public void display(String message){
		System.out.println(message);
	}
}

ReflectionTest.java

package com.codesjava;
 
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
 
public class ReflectionTest {
	public static void main(String args[]){
		try {
			Class c=Class.forName("com.codesjava.TestClass");  
			Method method = c.getMethod("display", String.class);
			Parameter[] parameters = method.getParameters();
			//We can also use getParameterTypes() to get parameter type list
			for(int i=0; i<parameters.length; i++){
				System.out.println("Parameter name: " + parameters[i].getName());
				System.out.println("Parameter Type: " + parameters[i].getType());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}  
	}
}

Output

Parameter name: arg0
Parameter Type: class java.lang.String
Sign Up/ Sign In
Ask a Question


Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki