Я пытаюсь написать прототип функции Java, которую можно вызывать с любым количеством целых чисел и строк:
Код: Выделить всё
myMethod(1, 2, 3, "Hello", "World"); // Valid call
myMethod(4, "foo", "bar", "foobar"); // Valid call
В идеале мне бы хотелось, чтобы целые числа и строки задавались в любом порядке (и, возможно, в смешанном порядке):
Код: Выделить всё
myMethod(1, "Hello", 2, "World", 3); // Valid call
Я думал использовать varargs, но в прототипе он может быть только один. Еще одна идея, которая у меня возникла, — использовать следующий прототип:
Код: Выделить всё
public void myMethod(Object ... objs) { [...] }
... но я чувствую, что должна возникнуть ошибка компиляции, если она вызывается с чем-то отличным от ожидаемых типов. Конечно, проверка во время выполнения (
) можно было бы выполнить, но это было бы не очень элегантное решение, не так ли?
Как бы вы это сделали?
Подробнее здесь:
https://stackoverflow.com/questions/632 ... -prototype