我经常遇到以下 IntelliJ 检查
private boolean bar() {
return foo().contains("foo"); // Method invocation 'contains' may produce 'java.lang.NullPointerException'
}
private String foo() {
return null;
}
检查对我来说似乎很好,但 IntelliJ 建议的修复之一(或通常是唯一的)是这样的:
private boolean bar() {
return Objects.requireNonNull(foo()).contains("foo");
}
然后警告消失了。但我不明白这有什么帮助?requireNonNull
只会抛出与on 调用NullPointerException
时无论如何都会抛出的相同的东西。.contains
null
通常,IntelliJ 会提出有意义的建议,这是一个常见的建议,所以我在这里错过了重点吗?