我有一个方法接受一个长的原始值并根据它做一些处理。它最初是int,后来改变了。实际调用此方法的代码是使用Integer调用此方法,因为前面的代码是java Autoboxing and Unboxing。应该接受一个Integer对象的java方法接受一个Integer对象吗?
但是,这已经改变为长期后,我的代码并没有显示任何编译时错误,而建设如我所料。现在,如果我将其更改为int而不是Integer,则会显示编译时错误,但不会显示Integer。
这是怎么发生的?
编辑:
class ABC {
public Customer customerExists(long cid) throws Exception {
...
}
}
class XYZ {
public void method() {
Integer customerId = null;
...
customerExists(customerId);
...
}
}
这应该是根据我的,但它不是一个编译时错误。
Java版本 - OpenJDK的版本 “1.8.0_31” OpenJDK的 运行时环境(建立1.8.0_31-B13) OpenJDK的64位服务器VM(建25.31-B07,混合模式)
您能否提供一个有问题的示例代码???另外,如果您可以指定您的JDK版本,它将有所帮助...我无法重现此... – Codebender
您是否可以共享代码例如,我们看到你的意思是什么 – Mureinik
代码请准确的编译错误你所描述的内容不能发生! – Seelenvirtuose