По умолчанию предполагается, что все значения не равны нулю, поэтому необходимо добавить @Nullable< /code> для аргументов метода и возвращаемых типов, которые могут быть нулевыми, например
Код: Выделить всё
public class ResourceConverters {
public static @Nullable Resource toResource(@Nullable MultipartFile file) {
return file != null ? file.getResource() : null;
}
public static @Nullable NamedByteArrayResource toNamedByteArrayResource(
@Nullable MultipartFile file) {
return file != null ? new NamedByteArrayResource(file.getOriginalFilename(), file.getBytes()) : null;
}
}
JSpecify предоставляет аннотацию @NullMarked . Когда это используется на уровне класса, оно эффективно применяет значение по умолчанию not-null ко всем параметрам метода и возвращаемым значениям в этом классе. Я ищу противоположное, то есть способ применить значение по умолчанию, равное нулю, на уровне класса.
JSpecify также предоставляет аннотацию @NullUnmarked, но это кажется чтобы применить значение по умолчанию «нулевое значение неизвестно», но я хочу, чтобы по умолчанию было «известно, что оно может быть нулевым».
Подробнее здесь: https://stackoverflow.com/questions/792 ... nnotations
Мобильная версия