Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java: Sending Multiple Parameters to Method [closed]

Tags:

java

methods

Here is my Scenario:

I've got to call a method. Let the parameters be: Parameter1, Parameter2, .. , .. , Parameter N But the Parameters to be sent to the method might change in each case.

Case 1: Only Parameter1 is sent

Case 2: A combination of Parameters is sent

Case 3: All Parameters are sent

What is the best way to achieve this in Java ?

like image 373
Srinivas R Avatar asked Jul 24 '13 14:07

Srinivas R


People also ask

How do you pass multiple parameters to a method in Java?

Parameters and Arguments Parameters are specified after the method name, inside the parentheses. You can add as many parameters as you want, just separate them with a comma.

How many parameters can be passed to a method in Java?

There is a technical maximum of 255 parameters that a method can have.


1 Answers

The solution depends on the answer to the question - are all the parameters going to be the same type and if so will each be treated the same?

If the parameters are not the same type or more importantly are not going to be treated the same then you should use method overloading:

public class MyClass {   public void doSomething(int i)    {     ...   }    public void doSomething(int i, String s)    {     ...   }    public void doSomething(int i, String s, boolean b)    {     ...   } } 

If however each parameter is the same type and will be treated in the same way then you can use the variable args feature in Java:

public MyClass  {   public void doSomething(int... integers)   {     for (int i : integers)      {       ...     }   } } 

Obviously when using variable args you can access each arg by its index but I would advise against this as in most cases it hints at a problem in your design. Likewise, if you find yourself doing type checks as you iterate over the arguments then your design needs a review.

like image 186
Nick Holt Avatar answered Sep 19 '22 23:09

Nick Holt