Eclipse null分析:int类型的表达式需要未经检查的转换以符合’@Nonnull Integer’

配置Eclipse 4.2.0以执行空分析(配置为使用@javax.annotation.Nonnull等)时,以下代码将生成警告

空类型安全:int类型的表达式需要未经检查的转换以符合’@Nonnull Integer’

 class C { static void foo(int i) { bar(i); // Warning } static void bar(@javax.annotation.Nonnull Integer i) { } } 

我该如何解决这个问题(不使用@SuppressWarnings("null") )? 似乎分析器不知道盒装基元不能为null

我认为这是Eclipse中的一个错误。 我尝试使用IntelliJ,它在那里按预期工作。

当我传递Null时,IntelliJ正确告诉我不允许空值。

在此处输入图像描述

但是,当我使用普通的i变量时,没有错误弹出,这是非常正确的。 在此处输入图像描述

我甚至试过这个,仅仅是为了实验,所以我不确定你是否坚持使用Eclipse,否则我建议使用免费的Community版 IntelliJ或Ultimate版 。

在此处输入图像描述