这编译得很好:-
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 写道 :- 它实际上只是一个数组的语法糖
这是一个示例,后面是Kathy Sierra 和 Bert Bates编写的一本非常流行的 Java 书籍(Head First Java,第 2 版,McGraw-Hill/Osborne)的声明 :-
主题泛型,
<T extends MyClass>
,其中 MyClass 是一个类,并且
<T extends MyInterface>
,其中 MyInterface 是一个接口。
以下是从书中复制的原样(第 548 页,第 16 章):-
在泛型中,“扩展意味着”“扩展或实现”???Java 工程师必须给您一种方法来对参数化类型施加约束,以便您可以将其限制为。但是您还需要约束一个类型以仅允许实现特定接口的类。因此,在这种情况下,我们需要一种语法来同时适用于两种情况——继承和实现。换句话说,这适用于扩展和实现。获胜的词是......扩展。每当太阳工程师有机会重用现有关键字时,就像他们在这里使用“扩展”所做的那样,他们通常会这样做。但有时他们别无选择......(断言,枚举)。
MyQuestion : var-args 只是数组的语法糖,没有其他功能然后数组???