Prev Next

Java / Annotations

Explain repeating annotation in Java8.

Prior to Java 8, attaching more than one annotation of the same type to the same part of the code (for example, a class or a method) was not allowed. Therefore, the developers had to group them together into single container annotation as a workaround:

@Authors({
    @Author(name = "John"),
    @Author(name = "George")
})
public class Book { ... }

Java 8 introduces repeating annotations which allows to rewrite the same annotation without explicitly using the container annotation:

@Author(name = "John")
@Author(name = "George")
public class Book { ... }

The container annotation is still used but this time the Java compiler is responsible for wrapping the repeating annotations into a container annotation.

User-defined annotations are not repeatable by default and have to be annotated with @Repeatable annotation.

More Related questions...

Show more question and Answers...

XML

Comments & Discussions