Open In App

Method Class | getParameterCount() method in Java

Improve
Improve
Like Article
Like
Save
Share
Report

The java.lang.reflect.Method.getParameterCount() method of Method class returns the number of parameters declared on a method Object.

Syntax:

public int getParameterCount()

Return Value: This method returns number of formal parameters defined on this Method Object.

Below programs illustrates getParameterCount() method of Method class:

Example 1: Below Program returns No of Parameter for a specific Method given as Input.




// Program Demonstrate how to apply getParameterCount()
// method of Method Class.
  
import java.lang.reflect.Method;
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
  
        try {
            // create class object
            Class classobj = GFG.class;
  
            // get list of methods
            Method[] methods = classobj.getMethods();
  
            // get no of parameters for method setManyValues
            int noOfParameters = methods[0].getParameterCount();
  
            System.out.println("Method Name: "
                               + methods[0].getName());
  
            // print no of parameters
            System.out.println("No of parameters:" + noOfParameters);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
  
    // method name setManyValues
    // No of parameters is one for this method
    public void setManyValues(String parameter1)
    {
        System.out.println("setManyValues");
    }
}


Output:

Method Name: setManyValues
No of parameters:1

Example 2: Below Program return No of Parameters for all of Methods Defined in a class.




// Program Demonstrate how to apply getParameterCount() method
// of Method Class.
  
import java.lang.reflect.Method;
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
  
        try {
            // create class object
            Class classobj = DemoClass.class;
  
            // get list of methods
            Method[] methods = classobj.getMethods();
  
            // get no of parameters for each
            // method in list of methods
            for (Method method : methods) {
  
                // print name of method
                System.out.print("Method Name is "
                                 + method.getName());
  
                // get no of parameters for each method
                int noOfParameters = method.getParameterCount();
  
                // print no of parameters
                System.out.println(" and No of parameters = "
                                   + noOfParameters);
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
// Demo class to apply getParameterCount() method
class DemoClass {
  
    // method name DemoMethod1
    // No of parameters is 1 for this method
    public void DemoMethod1(String parameter1)
    {
        System.out.println("DemoMethod1");
    }
  
    // method name DemoMethod2
    // No of parameters is 2 for this method
    public void DemoMethod2(String parameter1,
                            String parameter2)
    {
        System.out.println("DemoMethod2");
    }
  
    // method name DemoMethod2
    // No of parameters is Zero for this method
    public void DemoMethod3()
    {
        System.out.println("DemoMethod3");
    }
}


Output:

Method Name is DemoMethod1 and No of parameters = 1
Method Name is DemoMethod2 and No of parameters = 2
Method Name is DemoMethod3 and No of parameters = 0
Method Name is wait and No of parameters = 2
Method Name is wait and No of parameters = 1
Method Name is wait and No of parameters = 0
Method Name is equals and No of parameters = 1
Method Name is toString and No of parameters = 0
Method Name is hashCode and No of parameters = 0
Method Name is getClass and No of parameters = 0
Method Name is notify and No of parameters = 0
Method Name is notifyAll and No of parameters = 0

Explanation: Output of this program also showing results for method objects other than methods defined in class object like wait, equals, toString, hashCode, getClass, notify, notifyAll. These methods are inherited from superclass name Object of java.lang lang package by class object.

Reference: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#getParameterCount–



Last Updated : 05 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads