所以我遇到了由以下示例引起的错误:我有静态方法
private static Foo findFoo(int id) {
//we use id here not important
}
然后我在另一种方法中使用它
private static updateFoo(final Integer id, final String newData) {
final Foo existingData = findFoo(id);
// use existing data and update or make new
}
问题是在参数中updateFoo
调用时,调用时隐式调用(我认为)并导致NPE。null
id
intValue()
findFoo(id)
我认为 Java 强制执行强类型,以防止在预期原语时将对象传递给参数的情况。进行隐式调用时,这里有一般规则吗?这是否可以被编译器/IDE拾取并可能强制执行或警告?