我有一个非常基本的Java问题。为了将任意数量的参数从一种方法发送到另一种方法,我们可以使用varargs
。但是,这仅在参数为相同类型时才有效。我想知道是否有任何方法可以将任意数量和类型的参数从一种方法发送到另一种方法。例如,我想要一种首先发送5个int
和String
类型混合的参数的方法。后来,此相同方法需要能够发送Boolean
,String
,char
和double
类型的混合的7个论点。有什么办法可以执行这样的任务?谢谢。
我想知道有什么方法可以将任意数量和类型的参数从一种方法发送到另一种方法。
您可以使用Object... args
:
void method(Object... args) {
// ...
}
[int
,char
,double
和其他原始类型的参数将被包装在它们的对象包装中(Integer
,Character
,Double
)。
import java.util.Arrays;
class Example {
void method(Object... args) {
System.out.println(Arrays.toString(args));
}
public static void main(String[] args) {
Example e = new Example();
e.method(1, "foo", 2, "bar", 3);
e.method(true, "foo", 'c', 'd', new Boolean(false), false);
}
}