将变量参数传递给方法

时间:2012-03-20 04:07:25

标签: java methods parameters

嗨,我有什么方法可以将变量参数传递给方法吗?

public void unMarshalling(String type, int number){

}

因此,我可以使用我的方法,而不是int,我可以传入float,double,string和其他原始数据类型(+ string)。任何简单的例子都将深表感谢!非常感谢!

3 个答案:

答案 0 :(得分:12)

试试这个:

public void unMarshalling(Object ... params) {

}

现在你可以传递任意数量的任何类型的参数:

unMarshalling(23);
unMarshalling("Hello");
unMarshalling("Hello", 45.3);

答案 1 :(得分:0)

public void unMarshalling(String a, int b){}
public void unMarshalling(String a, float b){}
public void unMarshalling(String a, double b){}
public void unMarshalling(String a, String b){}

它将根据类型知道要调用哪一个。如果真的只有一个函数,你可以将它的'meat'放在String / int中,然后在String / float中你可以根据需要将float转换为int并调用String / int。

public void unMarshalling(String a, float b)
{
  unMarshalling(a,(int)b);
}

答案 2 :(得分:0)

Java具有var-args功能,这意味着您可以在给定类型示例的var-args中传递任意数量的参数 -

  public void myMethod(int...args)
 {
 }

您可以将其称为以下方法 -

  myMethod(3);

或myMethod(3,4);

或myMethod(3,65,74);等等。

您可以指定除int之外的任何类型的参数。

如果您有多个参数,请将var-args保留为最后一个参数。