java - 使用对象类的参数 vararg 和对象类的数组重载方法

标签 java overloading

如果我尝试重载类 Varargdemo 中的方法 flexiPrint(),则会生成编译时错误。编译器同等对待以下签名:

public static void flexiPrint(Object... data){}
public static void flexiPrint(Object[] data){}

有人可以向我解释为什么他们受到同样的待遇吗?我一直没能找到答案。

最佳答案

Object... 只不过是一个数组,这意味着与定义 Object[]

相同

...(三个点)代表varargs在java中。

我们通常在 main 方法中看到这个签名,例如 main(String... args)

因此,一个类中不允许有多个具有相同签名的方法(编译时错误)。这就是您看到编译时错误的原因。

关于java - 使用对象类的参数 vararg 和对象类的数组重载方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375823/

相关文章:

java - 没有bean的映射表

java - Hibernate - 在多态查询中将锁应用于父表

c++ - 流的重载产生两种不同的结果

java - 加载纹理 LWJGL

java正则表达式匹配任何字符串,特定字符串,任何字符串,特定字符串和任何字符串

java - 从排序数组中删除重复项,以便允许有两个重复项

c++ - C++ 中的运算符重载

java - 通量映射中的重载?

ruby - 在 Ruby 中避免方法重载

c++ - 是否可以将全局函数带入成员函数的重载决议中?