栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Varargs Java模糊调用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Varargs Java模糊调用

这里适用的一般规则是:如果一个方法签名严格比另一个方法签名 更具体 ,则Java选择它时不会出错。

从直觉上讲,如果您可以完全删除一个方法签名,则该方法签名更为具体,而另一个较不具体的方法签名将适用于每个现有调用。

当在签名

sum(int... args)
sum(double... args)
签名之间进行选择时,签名
sum(int...args)
更为具体,因为对该方法的任何调用也可以通过
sum(double...args)
应用扩展转换而传递给该方法。对于
sum(boolean... args)
不能进行类似转换的方法而言,情况并不相同。

Java语言规范,SE 8版本:

15.12。方法调用表达式

15.12.2.5。选择最具体的方法

Java编程语言使用选择 最具体 方法的规则。

如果满足以下任一条件,则对于使用参数表达式e1,…,ek的调用,一个适用的方法m1比另一适用的方法m2更具体:

*m2不是通用的,并且m1和m2可通过严格或松散调用来应用,并且m1具有形式参数类型S1,…,Sn,而m2具有形式参数类型T1,…,Tn,则类型Si
对于所有i(1≤i≤n,n = k),自变量ei比Ti 特定


如果S <:T(第4.10节),则对于任何表达式,类型S都比类型T更具体。


4.10。子类型化

4.10.1。基本类型之间的子类型化

双> 1浮点

浮动> 1长

long> 1 int



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号