При настройке Eclipse 4.2.0 для выполнения нулевого анализа (с настройкой на использование @javax.annotation.Nonnull
и т. Д.) Следующий код генерирует предупреждениеEclipse null analysis: выражение типа int требует необработанного преобразования для соответствия «@Nonnull Integer»
Null безопасности типа: выражение типа междунар необходимо непроверенную преобразования, чтобы соответствовать «@Nonnull Integer»
class C
{
static void foo(int i)
{
bar(i); // Warning
}
static void bar(@javax.annotation.Nonnull Integer i)
{
}
}
Как я должен это исправить (без использования @SuppressWarnings("null")
)? Похоже, что анализатор не знает, что примитивы в штучной упаковке не могут быть null
.
Это была ошибка в Eclipse, которая была исправлена на вехе 7 предстоящего 4.5 выпуска. –
Не совсем исправлено, см. Https://bugs.eclipse.org/bugs/show_bug.cgi?id=447661 –