当前位置:  开发笔记 > 编程语言 > 正文

如何在java中调用重载方法

如何解决《如何在java中调用重载方法》经验,为你挑选了2个好方法。

那是因为2 一个原始整数 - 不是类型的对象Integer.

只有在找不到完美匹配签名(带有int)时才会发生自动装箱.

通过使用参数调用,(Integer)3您可以强制编译器将您自动int 3装入Integer对象中.



1> Jon Skeet..:

默认情况下,它将进入原始数据类型

是的,因为这是论证的确切类型.类型字面的2int,不Integer(JLS 3.10.1).它可以转换为Integer通过拳击转换(JLS 5.1.7),但只有在实际需要时才会发生.

根据JLS 15.12.2,Java中的重载分三个阶段进行:

第一阶段(§15.12.2.2)执行重载解析而不允许装箱或拆箱转换,或使用变量arity方法调用.如果在此阶段没有找到适用的方法,则处理继续到第二阶段.

因此在第一阶段m.method(2)匹配method(int),因此不需要进入第二阶段.



2> Jan..:

那是因为2 一个原始整数 - 不是类型的对象Integer.

只有在找不到完美匹配签名(带有int)时才会发生自动装箱.

通过使用参数调用,(Integer)3您可以强制编译器将您自动int 3装入Integer对象中.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有