Я пытаюсь разными способами избавиться от NPE в моем коде. Я использую нулевой анализ в Eclipse, и я очень люблю @NonNullByDefault. Но сегодня я столкнулся с проблемой, с необязательными гуавы в:Guava Необязательный и @NonNull аннотация
private static Optional<Foo> bar() {
Foo foobar = new Foo();
return Optional.of(foobar);
}
я получаю следующий комментарий по обратной линии:
Null type safety: The expression of type 'Optional<Foo>' needs unchecked conversion to conform to '@NonNull Optional<Foo>'
Я попытался с помощью JSR305 аннотаций безрезультатно. Есть ли способ заставить его работать (использовать как необязательные, так и аннотации @NonNull)?
Не нашел ничего подходящего. В большинстве статей описывается использование аннотаций или использование опций - ничего не используется для обоих. Я нашел дискуссию на форуме guava об использовании JSR305, но, как я уже сказал, переход на JSR305 не помог – Tarkis
Похоже, что это не сработает, если Eclipse не позволит вам определять внешние методы как возвращающие @NonNull? –
Что такое 'Foo' и почему вы пытаетесь вставить в него строку? –