如果我错了,请纠正我。是Boxing + Varargs优于Boxing + Widening吗?
我在网站上发现了另一种方式。
JLS#15.2.2中定义了几种可以合格时调用的方法:
第一阶段(第15.12.2.2节)执行重载解析,不允许装箱或拆箱转换,也不允许使用可变Arity方法调用。如果在此阶段未找到适用的方法,则处理将继续进行到第二阶段。 第二阶段(第15.12.2.3节)在允许装箱和拆箱的同时执行重载解析,但仍排除使用可变arity方法调用。如果在此阶段未找到适用的方法,则处理将继续进行到第三阶段。 第三阶段(第15.12.2.4节)允许将重载与可变arity方法,装箱和拆箱相结合。
第一阶段(第15.12.2.2节)执行重载解析,不允许装箱或拆箱转换,也不允许使用可变Arity方法调用。如果在此阶段未找到适用的方法,则处理将继续进行到第二阶段。
第二阶段(第15.12.2.3节)在允许装箱和拆箱的同时执行重载解析,但仍排除使用可变arity方法调用。如果在此阶段未找到适用的方法,则处理将继续进行到第三阶段。
第三阶段(第15.12.2.4节)允许将重载与可变arity方法,装箱和拆箱相结合。
因此,总而言之:扩展>装箱和拆箱> varargs