如何将方法参数值直接存储到数组列表中,然后将其传递给另一个方法

时间:2017-12-18 19:48:11

标签: java arraylist

以下是工作流程:

Class A{

    B obj_b = new B;

    String x= "abc";
    String y= "def";

    public void method_a(){
        obj_b.method_b(x,y);
    }  
}

Class B{

    C obj_c = new C;
    public String method_b(String Fname, String Lname){

        ArrayList<String> names = new ArrayList<String>();
        names.add(Fname);
        names.add(Lname);

        String qwerty=("Hello"+ obj_c.method_c(names));

    }
}

Class C{

    public String method_c(ArrayList<String> allElements){
        String xyz = MessageFormat.format(allElements.get(0),allElements.get(1));
        return xyz;
    }
}

我想做的是:

  1. 在B类中,将所有参数直接添加到ArrayList(即Fname和Lname到names数组列表)。参数的数量可能会有所不同。可能有一些其他方法调用带有3或4个参数的method_b(),这就是我使用ArrayList的原因。
  2. 然后在C类中,将数组列表中的每个元素(即名称)放在方法message()中,并用逗号分隔。
  3. 请建议是否采取更好的方法。

1 个答案:

答案 0 :(得分:0)

我认为你需要这样的东西:

class B {
    C obj_c = new C();

    public void method_b(String... args) {
        List<String> names = Arrays.asList(args);
        String qwerty = "Hello " + obj_c.method_c(names);
    }
}

这样,您可以向method_b发送无限制的args。

希望这有帮助!