当将整数作为函数参数传递时,是否可以将整数自动转换为对象?我有这个功能原型:
public void aggiungiA(Nodo x)
Nodo拥有自己的带有整数参数的构造函数。现在,我想做的是:
aggiungiA(5);
带有隐式强制转换。 反正有做吗?
答案 0 :(得分:4)
在Java中,没有通过构造函数调用进行隐式强制转换。您将必须从调用方或通过重载方法显式调用构造函数:
public class MyClass {
public void aggiungiA(int i) {
aggiungiA(new Nodo(i));
}
public void aggiungiA(Nodo x) {
// Do something with X
}
}
答案 1 :(得分:1)
除了@Mureinik的答案,我想您还来自C ++背景,某些强制转换确实会自动发生。在Java中,情况有所不同-唯一的隐式强制转换为:
long x = myLong + inInt
中,将myInt强制转换为两个长值相加之前的很长一段时间