有没有可能创建一个可以接受任意数量参数的方法?

4
我看到了另一个帖子,它描述了似乎是我的问题:如何在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...

感谢您查看我的问题!

1
感谢您的努力,但您不需要编辑问题以放置答案。奖励最佳答案的最佳方式是接受并点赞它。 :) 祝您编写代码顺利。 - Yassin Hajaj
1
好的 :). 谢谢,它做了它应该做的事情,这总是一种奖励。 - Riley Carney
2个回答

7

请注意签名

public static void clearArray (Objects... args)

该方法接收对象类型,而你正在向它传递整数。也许将其更改为

public static void clearArray (Object... args)

帮助。


6
你需要的是java.lang.Object,而不是java.util.Objectsjava.util.Objects是一个带有实用方法的类,而不是一个你可以扩展和实例化的类。
另一方面,java.lang.Object是Java中所有对象的超类。
即使在多参数(可变参数)方法中,签名也需要是Object ...,而不是Objects ...

@RileyCarney 没问题。我们大多数人都做得更糟糕 :-) - Sean Patrick Floyd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接