メソッドがあるとします
void m1(Object... objs) {
m2("added", objs);
}
と
void m2(Object... objs) {
for (Object o : objs) {
// do something with Object o
}
}
を呼び出すとm1("a", "b")
、m2
3 つのオブジェクト (文字列「追加」、「a」、および「b」) の配列が表示されます。ただし、代わりに、m2
文字列「追加」と、文字列「Object[]
a」および「b」を内部に含む配列の 2 つのオブジェクトのみが表示されます。
目的の動作を得るにはどうすればよいでしょうか。つまり、要素を別のメソッドに転送する前に varargs に要素を追加するだけです。