...
已经存在于Java 7中。(我认为它是在Java 5中引入的!)但是在Java 8中,它们明确将其列为“分隔符”之一。...
和@
不会真正地分隔任何东西。它们被归类为“分隔符”,因为它们不是运算符、字面值、标识符或关键字。( ) { } [ ]
也没有真正起到分隔作用。它们的目的是开始或结束构造。
4. <
和 >
标记也有些奇怪。词法语法将它们称为运算符,但在某些上下文中它们充当(松散的)分隔符。public foo(Bar... vararg)
中,你可以这样说:(
将方法名与参数列表分开
- ...
将参数类型与参数名分开...
列为分隔符,可能需要深入研究Java源代码解析的过程。也就是说,这个术语是根据解析器处理...
的方式而来,并不一定具有语义上的意义。...
作为分隔符。在注解类型声明中,@
也可以被视为分隔符。它将潜在的修饰符与关键字 interface
分开。但是,这些分隔符对于 Java 8 并不新颖,这让人感到困扰。 - LuCio
...
会被错过多年和几个Java版本。 - LuCio...
标记根本没有被提及。但显然,就编译器而言,它确实存在...就第8章而言也是如此。JLS中包含错误,其中一些是较小的(例如此处),而另一些则更为重要。 - Stephen C...
和@
作为Java语言的有效标记,即使它们没有被归类为分隔符。正如这个答案提到的那样,这种分类没有实际影响,就像“分隔符”和“操作符”之间的区别(::
不也是一种操作符吗?)没有任何区别一样。 - Holger