Type Annotations

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.

Specification

The Type Annotations specification indicates changes to the Java language and platform.

Implementation

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.

Other tools that use type annotations

Several other tools already use the type annotation syntax.

Community and getting help

Awards