如何创建一个接受Java中任何类型的任意数量的参数的方法?

fle*_*ale 5 java methods argument-passing

我可以看到在Java中有一种方法可以接受任意数量的指定类型的参数:http: //www.java-tips.org/java-se-tips/java.lang/how-to-传递非指定数的论点对am.html

但有没有办法使一个方法接受任何类型的任何数量的参数?

Jiv*_*ngs 10

所有Java对象都扩展了Object类.所以你可以使你的函数接受一个Object数组:

public void func(Object[] args) {
}
Run Code Online (Sandbox Code Playgroud)

或者如果你想要什么都不通过:

public void func(Object... args) {
}
Run Code Online (Sandbox Code Playgroud)


Tom*_*son 5

public void omnivore(Object... args) {
   // what now?
}
Run Code Online (Sandbox Code Playgroud)

在Java中,任何引用类型(对象和数组)的变量(包括某些泛型类型的变量,甚至通配符)都可以传递给Object类型的参数.任何基本类型的变量都可以自动装箱到其相应的包装类型,这是一种引用类型,因此可以作为Object传递.所以,Object...会接受任何数量的东西.