Per the style guide, TYPE_USE
annotations should appear
immediately before the type being annotated, and after any modifiers:
public <K, V> @Nullable V getOrNull(final Map<K, V> map, final @Nullable K key) {
return map.get(key);
}
Non-TYPE_USE
annotations should appear before modifiers, as they annotate the
entire element (method, variable, class):
@VisibleForTesting
public void reset() {
// ...
}
Javadoc must appear before any annotations, or the compiler will fail to recognise it as Javadoc:
@Nullable
/** Might return a frobnicator. */
Frobnicator getFrobnicator();
Suppress false positives by adding the suppression annotation @SuppressWarnings("AnnotationPosition")
to the enclosing element.