Ответ 1
Решение зависит от ответа на вопрос - все ли параметры будут одного и того же типа, и если это будет каждый из них обрабатываться одинаково?
Если параметры не одного и того же типа или, что более важно, не будут обрабатываться одинаково, тогда вы должны использовать перегрузку метода:
public class MyClass
{
public void doSomething(int i)
{
...
}
public void doSomething(int i, String s)
{
...
}
public void doSomething(int i, String s, boolean b)
{
...
}
}
Если, однако, каждый параметр является одним и тем же типом и будет обрабатываться одинаково, то вы можете использовать функцию переменных args в Java:
public MyClass
{
public void doSomething(int... integers)
{
for (int i : integers)
{
...
}
}
}
Очевидно, что при использовании переменных args вы можете получить доступ к каждому аргументу по его индексу, но я бы посоветовал это сделать, поскольку в большинстве случаев он намекает на проблему в вашем дизайне. Аналогичным образом, если вы обнаружите, что выполняете проверки типов при повторении аргументов, ваш дизайн нуждается в обзоре.