gpt4 book ai didi

java - 在 Java 中为什么不加宽然后框?

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:37 25 4
gpt4 key购买 nike

在java中我们可以装箱然后加宽。为什么我们不能加宽和装箱?例如:

 class WidenAndBox{
static void go(Long x) { }
public static void main(String [] args)
{
byte b=5;
go(b);
}
}

编译错误

最佳答案

我不知道规范是如何编写的,但一般来说,您不会自动在不兼容的类之间进行转换。原语的扩展是一个单独的问题,并且 Java 扩展规则早在自动装箱被添加到该语言之前就已经制定好了。这是让编译器发现您的错误与不因小细节激怒您之间的权衡。

在您的示例中,如果您自动装箱了很长时间就可以了,或者如果您创建了一个将 Number 作为参数的函数,您也可以。您可能认为编译器应该通过意识到一个 Byte 可以很容易地拆箱和重新装箱为一个 Long 来帮助您,但是编译器的开发人员不同意,我也不同意。

关于java - 在 Java 中为什么不加宽然后框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2051419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com