单个参数的多个值

时间:2017-06-16 10:50:40

标签: java parameter-passing

如何将多个值传递给java中特定方法的单个参数。 例如假设我有一个带有单个参数' childname'的方法,它获取一个家庭中所有孩子的名字。 现在,我如何将多个值传递给此参数以获取所有不同的名称。

public String getChildrenNames(String childname)
{
    children= childname+ familyName;
    return children;
}

5 个答案:

答案 0 :(得分:1)

通常使用Array或Collection来实现它。 例如:

public String[] getNamesOfChildren()

public Collection<String> getNamesOfChildren()

答案 1 :(得分:0)

你可以使用下面的var args

php.ini

例如

public String getChildrenNames(String... childname)
{

    for(String s:childname)
{
 children= childname+ s;
}
return children;
}

输出: sds

答案 2 :(得分:0)

如果您无法更改方法的签名,则可以使用连接,然后在您的方法中可以拆分此参数,例如:

    C:\DevArea\IonicApp\MyApp>ionic -v
    3.4.0

因此您可以拆分此参数以获取多个名称,

String childname = firstname + "," + lastname;
getChildrenNames(childname);

但是有更好的方法,如果你可以改变方法的签名,那么你可以创建一个方法,可以取代数组或名单列表:

String[] spl = childname.split(",");

public String getChildrenNames(String...childnames) {

您甚至可以创建一个Object,例如:

public String getChildrenNames(Lis<String> childnames) {

然后你的方法应该采用一个数组或一个Person Object列表:

class Person{
    private String firstname;
    private String lastname;
    //getters and setters
}

答案 3 :(得分:0)

正如人们所说,你需要将它们作为数组传递,所以你的代码应该是这样的:

String familyName = "Family";

public String[] getChildrenNames(String[] childnames)
{
    String[] result = new String[childnames.length];
    for(int i=0; i<childnames.length; i++)
    {
        result[i] = childnames[i] + " " +familyName;
    }
    return result;
}

public void main()
{
    String[] childnames = {"Name1", "Name2", "Name3"};
    String[] childnamesAux = getChildrenNames(childnames);
}

这样你的childnamesAux变量应该有:{&#34; Name1 Family&#34;,&#34; Name2 Family&#34;,&#34; Name3 Family&#34;}

答案 4 :(得分:0)

你可以试试这个

   public static String child(String... name){
    String[] array=name;
    String tem;
    if(name.length==1)
        return name[0];
    for(int counter=0; counter<array.length;counter+=2){
        array[0]=name[counter]+name[counter+1];
    }
    tem=array[0];

    return tem;
}

现在如果你称之为

    child("Paul","walker");

输出将是         保罗沃克 希望这有帮助