La soluzione dipende da th e risposta alla domanda: tutti i parametri saranno dello stesso tipo e in tal caso ciascuno di essi sarà trattato allo stesso modo?
Se i parametri non sono dello stesso tipo o ancora più importante non stanno per essere trattati allo stesso allora si dovrebbe utilizzare il metodo 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)
{
...
}
}
Se invece ogni parametro è lo stesso tipo e saranno trattate in allo stesso modo è possibile utilizzare i args variabile elemento in Java:
public MyClass
{
public void doSomething(int... integers)
{
for (int i : integers)
{
...
}
}
}
Ovviamente quando si utilizza args variabili è possibile accedere a ogni argomento con il suo indice, ma vorrei consigliare contro questo, come nella maggior parte dei casi si allude a un problema in il tuo design. Allo stesso modo, se ti trovi a fare controlli di tipo mentre esegui l'iterazione sugli argomenti, il tuo progetto necessita di una revisione.
fonte
2013-07-24 14:54:09
Tutti i parametri non sono dello stesso tipo e non conosciamo il numero di parametri che verranno passati. –
Avrei dovuto essere più chiaro - tutti i parametri possono essere gestiti come lo stesso tipo super, senza la necessità di un controllo di tipo? Il controllo del tipo non è la fine del mondo, ma nella maggior parte dei casi è un codice di odore imho. –
Tutti i parametri non sono dello stesso tipo e non conosciamo il numero di parametri che verranno passati. Esempio: metodo (stringa a1, stringa a2, stringa b1, stringa b2, .., .. e alcuni parametri int comuni, stringa) dove a1 e a2 sono un set, b1 e b2 un altro set e così via. Ma non conosciamo il numero di set che devono passare. –