[英]Why does not compute function give error while converting Integer to double?
[英]Why java do not give error on returning an integer while the return type is long or double?
public double delhi(Integer a)
{
return (int)a;
}
如果没有得到,请查看方法的返回类型
因为,一个int可以容纳一个double。 其称为扩展原始转换 。
在方法上声明的返回类型用于在堆栈上分配内存以存储返回值。 在这里,通过将返回类型声明为double
编译器将分配比实际返回值所需的更多空间(64位),即int
(32位)。 因此,在此(up)conversion
不会丢失任何预期的数据。 因此,编译器和运行时都不会抱怨并且可以正常工作。 尝试相反的方法,将return type设置为int
并返回long
或double
。 您将得到编译器错误,因为可能会损坏数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.