是否可以创建一个带有任意数量参数的方法?

时间:2015-10-15 20:55:59

标签: java

我在这里看到另一篇文章描述似乎我的 问题How to make a method which accepts any number of arguments of any type in Java?

然而,当我尝试使用此方法时,当我编译程序时,它给了我错误 “int不能转换为java.util.Objects“

我做错了什么?

代码:

public static void clearArray (Objects... args)
{
    System.out.println("Error, non character value");
}

我如何调用该函数:

import java.util.Objects;
// Stuff...
clearArray(1);
// Other stuff...

感谢您查看我的问题!

2 个答案:

答案 0 :(得分:7)

查看签名

public static void clearArray (Objects... args)

该方法接收对象类型,并将整数传递给它。也许将其改为

public static void clearArray (Object... args)

可帮助。

答案 1 :(得分:6)

您需要java.lang.Object,而不是java.util.Objects

java.util.Objects是一个带有实用程序方法的类,而不是一个可以实际扩展和实例化的类。

另一方面,

java.lang.Object是Java中所有对象的超类。

即使在多参数(varargs)方法中,签名也必须是Object ...,而不是Objects ...