The Java 6 annotation syntax is useful but limited. The Type Annotations
syntax permits annotations to be written in more places, such as generic
type arguments: List<@NonNull Object>
.
Programmers can use type annotations to write more informative types, and
then tools such as type-checkers can detect and prevent more errors.
This project is sponsored by the OpenJDK Compiler Group and is targeted for inclusion in the Java SE 8 platform.
The Type Annotations specification indicates changes to the Java language and platform.
The Type Annotations compiler has a few small enhancements over what will be in the the OpenJDK compiler; see its documentation (linked below) for details.
Several other tools already use the type annotation syntax.
.java
and .class
files.