The JLS for Java 8 introduces three new separators:
... @ ::
The ellipsis (...
) is used as "last formal parameter of a method or constructor". But already the JLS for Java 7 described this formal parameter as variable arity parameter. It isn't mentioned as a separator.
The separator ::
is used to form method reference expressions.
The @
is meant "to distinguish an annotation type declaration from an ordinary interface declaration" and thus part of an annotation type declaration. Annotations were already part of the JLS for Java 7. I see no other usage for the "at-sign".
Searching for questions and answers about Java 8+ separators I found nothing, which explains the usage of the new separators.
What do the both separators ...
, @
separate? How are they used?