如何在Eclipse 4.30中指定数组本身而非元素为@NonNull?
Eclipse 4.30空值检查中数组本身非空的标注方法
在Eclipse的注解式空值分析规则下,@NonNull的位置直接决定了它的作用对象:
@NonNull SomeType[]:表示数组的每个元素都是非空的SomeType实例SomeType @NonNull []:表示数组引用本身非空(数组对象不为null,元素若为基本类型则无需额外标注,引用类型元素可允许为null)
针对你遇到的基本类型数组(比如byte[])无法用@NonNull标注元素的问题,只需调整注解位置,明确标注数组引用本身非空即可:
public void doSomething(byte @NonNull [] pArray) { // 业务逻辑 }
如果是引用类型数组,若仅需保证数组本身非空、允许元素为null,同样使用SomeType @NonNull []的写法;若要同时保证数组本身和元素都非空,则可以写成@NonNull SomeType @NonNull []。
Eclipse 4.30完全支持这种Java类型注解语法,能准确识别你要表达的非空约束,不会再出现基本类型无法标注的错误。
内容的提问来源于stack exchange,提问作者JochenW
相关产品推荐
相关产品推荐

