可变参数方法的编写

简书 阿贝
转载请注明原创出处,谢谢!
如果读完觉得有收获的话,欢迎点赞加关注

起因

最近工作也差不多确定下来了,打算好好阅读源码。于是遇到很久之前就想弄明白的问题——java对可变参数方法是如何实现的。

实现

先看看‘土’办法是怎么实现。



在调用方法之前我们首先还需要创建一个参数指定类型的局部变量。再传递到方法里面。

JDK1.5增加了新特性:可变参数


Class.class

仔细看看parameterTypes的类型其实是Class<?>[]。对,就是一个数组。于是乎,我就开始照样画葫芦。


注意一点
其实上面也说明白了,这个可变参数必须放在所有参数的后面。
但是,两个多参数,能不能放在同一个方法里面呢?答案是不可以的,其实我们尝试的去创建一个这样的方法的时候,编译器自动会提示你
The variable argument type int of the method out must be the last parameter显然我们这样做是不可以的,同时也就是决定了一个方法只能有一个可变参数并且必须放置在参数列表的最后面。

这样的设计给我带来什么样的便处?

  1. 减少了参数的数量,看起来更加简洁。
  2. 适用于参数类型确定,但是,参数数量不确定的情况。
  3. 在一定程度上减少重载方法的数量。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,487评论 6 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,251评论 25 708
  • 每个公司对于大客户分类管理各有不同,共同的一点:大客户贡献销售额是第一的,只要攻打成功,则能改变公司和销售人员命运...
    疯狂的小蜗牛阅读 1,121评论 0 0
  • 在最近的项目中使用到View抖动的效果,就从StackOverflow搬运了一个在此记录一下。
    Ever_Blacks阅读 2,094评论 0 1
  • 暂时避开集市的嘈杂 接你的电话 听到湛河的丝乐 和家乡的风吼 听着走着 我走进深巷 看到近在咫尺却从未看到的景色 ...
    山水之间一森林阅读 269评论 2 18

友情链接更多精彩内容