gpt4 book ai didi

java - String [] 和 String... (Var-args) 在内部工作时是否相同?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:21 24 4
gpt4 key购买 nike

class WrongOverloading{
void something(String [] a){ .. }
Integer something(String... aaa){ return 1;}
}

以上代码无法编译!编译器说这些是重复的方法。那么使用 String 数组或 String var-args 的意思完全一样吗?

它们是如何在内部实现的?

最佳答案

它们实际上是相同的,除了编译器不会接受可变参数,除非它是最后一个参数,并且它不允许您将多个参数传递给数组。

public void methodA(int... ints, int a); // doesn't compile
public void methodA(int[] ints, int a); // compiles

public void methodB(int... ints); // compiles
public void methodC(int[] ints); // compiles

methodB(1); // compiles
methodB(1,2,3,4); // compiles
methodC(1); // doesn't compile
methodC(1,2,3,4); // doesn't compile

关于java - String [] 和 String... (Var-args) 在内部工作时是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com