方法原型中 varargs 的多个对象类型?
2022-09-03 06:17:47
我正在尝试编写一个Java函数的原型,该函数可以使用任意数量的整数和字符串进行调用:
myMethod(1, 2, 3, "Hello", "World"); // Valid call
myMethod(4, "foo", "bar", "foobar"); // Valid call
理想情况下,我希望int和字符串以任何顺序给出(并且可能混合):
myMethod(1, "Hello", 2, "World", 3); // Valid call
我想过使用varargs,但原型中只能有一个。我的另一个想法是使用以下原型:
public void myMethod(Object ... objs) { [...] }
...但是我觉得应该有一个编译错误,以防它被调用而不是预期的类型。当然,可以执行运行时检查(),但这不是一个非常优雅的解决方案,不是吗?instanceof
你会怎么做?