对数组使用 Nullness 注释

Using Nullness annotation with array

有人可以帮助我理解以下三个带注释的 return 值方法之间的区别,即每个 return 类型的约束如何彼此不同:

static @Nullable double[] multiply(){...}

static @Nullable double @Nullable[] multiply(){...}

static double @Nullable[] multiply(){...}

类型注释写在它们所应用的类型之前。

  • Double []: Double 数组。
  • Double @Nullable []: Double 的可为空数组。
  • @Nullable Double []: 可空 Double 数组。
  • @Nullable Double @Nullable []: 可空双精度数组。

这在 Java Language Specification, section 9.7.4Java Type Annotations Specification, section 2.2.1.