使用注释标记数组的单独维度

时间:2015-10-29 21:16:28

标签: java annotations java-8 jls

在Java 8中,我们可以使用注释标记数组的单独维度 (参见JLS 8第10.2节)。 例如,

int @a[] a;

int @a[] @b[] a;

void someMethod(int @a[] @b... y) {}

然后我们可以用Java Reflection解析这些声明来实现一些特定的逻辑。

您是否了解此功能在实际Java框架或Java库中的任何实际应用?

1 个答案:

答案 0 :(得分:1)

这种注释放置可能有用的示例是Checker Framework

它可以用来创建可变/不可变或(非)可空行 - 基本上你可能想用整个数组注释,但只能用于单行。

Object @NonNull [] @Nullable [] a;

除此之外,它可以用于文档,例如解释每个维度目的的注释。