Sonar报告org.springframework.messaging.MessageHeaders.get()
上的错误。以下代码:
1. MessageHeaders foo = new MessageHeaders(Collections.emptyMap());
2. String bar = foo.get("foobar", String.class);
3. if (bar != null) {
4. return bar
5. }
6. ...
Sonar讲述了第3行:“删除始终为“ true”的表达式。
当我认为这是Sonar的错误分析时,我错了吗? 我在这里想念什么?
答案 0 :(得分:0)
根据方法定义
@SuppressWarnings("unchecked")
@Nullable
public <T> T get(Object key, Class<T> type) {
Object value = this.headers.get(key);
if (value == null) {
return null;
}
if (!type.isAssignableFrom(value.getClass())) {
throw new IllegalArgumentException("Incorrect type specified for header '" +
key + "'. Expected [" + type + "] but actual type is [" + value.getClass() + "]");
}
return (T) value;
}
您可以将声纳错误标记为误报,因为它可能返回null。