gpt4 book ai didi

java - var-args 是否只能用作方法参数?

转载 作者:行者123 更新时间:2023-11-30 07:38:47 24 4
gpt4 key购买 nike

编译正常:-

public class Demo {

public static void main(String... args) {

}
}

但这并没有被编译。

public class Demo {

public static void main(String... args) {
String... strVarArgs ;

//here i initiallize strVarArgs by some logic, like we do for arrays
}
}

如果我在语法上有误,请纠正我。 :-)


cletus 写道:-它实际上只是数组的语法糖

这是一个例子,后面是一个非常流行的 java 书中的声明Kathy Sierra 和 Bert Bates(深入浅出 Java,第 2 版,McGraw-Hill/Osborne):-

主题泛型,

<T extends MyClass> ,其中 MyClass 是一个类,并且

<T extends MyInterface> ,其中 MyInterface 是一个接口(interface)。

以下是从书(第 548 页,第 16 章)中复制的内容:-

在泛型中,“扩展”意味着“扩展或实现”???Java 工程师必须为您提供一种对参数化类型进行约束的方法,以便您可以将其限制为。但是您还需要限制类型以仅允许实现特定接口(interface)的类。因此,在这种情况下,我们需要一种语法来同时适用于继承和实现这两种情况。换句话说,这适用于扩展和实现。 获胜的词是……延伸。每当 sun 工程师有机会重用现有关键字时,就像他们在这里使用“extends”所做的那样,他们通常会这样做。但有时他们别无选择...(断言,枚举)。

我的问题:var-args 只是数组的语法糖,除了数组没有其他特性吗???

最佳答案

是的,可变参数只适用于函数参数。

它实际上只是数组的语法糖,所以不是:

String... strVarArgs ;

你想要

String strVarArgs[];

关于java - var-args 是否只能用作方法参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1514422/

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