org.springframework.lang.Nullable的使用
应在参数、返回值和字段级别使用,表示:可以返回为null,但实现它的方法必须返回默认值,作为参数可以为null,但实现它的方法中有判断兼容null
public interface MessageSource {
@Nullable
String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale);
}
public abstract class AbstractMessageSource实现MessageSource接口
@Override
public final String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale) {
String msg = getMessageInternal(code, args, locale);
if (msg != null) {
return msg;
}
if (defaultMessage == null) {
return getDefaultMessage(code);
}
return renderDefaultMessage(defaultMessage, args, locale);
}