[英]When varargs started to not conflict with no-arg?
今天我發現以下代碼編譯並運行時沒有任何警告:
public class Try_MultipleArguments2 {
public static void main(String[] args) {
myfunction();
myfunction(1, 2, 3);
}
public static void myfunction(int ... as) {
System.out.println("varags called");
}
public static void myfunction() {
System.out.println("noarg called");
}
}
我記得很清楚,不是那么早。
這是 JVM 更改還是我的內存故障???
它如何區分無參數和可變參數?
更新
以下代碼也可以正常運行:
public class Try_MultipleArguments2 {
public static void main(String[] args) {
myfunction();
myfunction(1, 2, 3);
}
public static void myfunction(int ... as) {
System.out.println("varags called");
}
// public static void myfunction() {
// System.out.println("noarg called");
// }
}
它的功能在后端重載。
您的void myfunction(int ... as)
接受多個參數,而您的void myfunction()
沒有參數。 我看不出這有什么問題。 方法重載
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.