I had a question regarding ... parameters in java. Here is the code example
class Foo{
    private void m1(Object... params){
        //do something with params[0]
        //do something with params[1]
        //do something with params[2]
        //do something with params[3]
    }
    public void m2(Object... params){
        Object additionalParam = new Object();
        m1(additionalParam, params);
    }
}
class Example{
    public void main(String[] args){
        Foo f = new Foo();
        Object o1 = new Object();
        Object o2 = new Object();
        Object o3 = new Object();
        f.m2(o1, o2, o3);
    }
}
Does something like this work? I didn't get a compiler error, but when doing something similar, I had problems when changing the value of one of the objects from m1().
SOLUTION: I thought that the array would be flattened, but apparently that doesn't happen.
class Foo{
    private void m1(Object... params){
        //do something with params[0]
        //do something with params[1][0]
        //do something with params[1][1]
        //do something with params[1][2]
    }
    public void m2(Object... params){
        Object additionalParam = new Object();
        m1(additionalParam, params);
    }
}
class Example{
    public void main(String[] args){
        Foo f = new Foo();
        Object o1 = new Object();
        Object o2 = new Object();
        Object o3 = new Object();
        f.m2(o1, o2, o3);
    }
}
Thanks, Sibbo for your contribution.
 
     
     
    