我試圖寫一個Java功能,可以與任意數量的整數和字符串的被稱爲原型:方法原型中可變參數的多個對象類型?
myMethod(1, 2, 3, "Hello", "World"); // Valid call
myMethod(4, "foo", "bar", "foobar"); // Valid call
理想情況下,我想在整數和字符串以任何順序給予(和可能混合):
myMethod(1, "Hello", 2, "World", 3); // Valid call
我想使用可變參數,但在原型中只能有一個。另一個想法我已經是使用下面的原型:
public void myMethod(Object ... objs) { [...] }
...但我覺得應該有一個編譯錯誤的情況下,它被稱爲比預期的類型以外的東西。當然,可以執行運行時檢查(instanceof
),但那不會是一個非常優雅的解決方案,對嗎?
你會怎麼做?
這就是我所害怕的。謝謝,我會訴諸於Object varargs。 – executifs 2011-06-12 13:17:58