美文网首页
可变参数方法的编写

可变参数方法的编写

作者: 阿贝dragon | 来源:发表于2017-03-17 11:50 被阅读0次

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

起因

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

实现

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



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

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


Class.class

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


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

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

  1. 减少了参数的数量,看起来更加简洁。
  2. 适用于参数类型确定,但是,参数数量不确定的情况。
  3. 在一定程度上减少重载方法的数量。

相关文章

  • 可变参数方法的编写

    简书 阿贝转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注 起因 最近工作也差不多确定下来了,打算...

  • Java中的可变参数

    学习笔记:可变参数,仅语法 可变参数又称参数的个数可变,用作方法形参的出现,那么方法的参数个数就是可变的了. 格式...

  • 2020-06-29可变参数

    可变参数 概述:可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了。 格式①修饰符 返回值...

  • java 可变参数

    可变参数 可变参数是参数的个数为任意个,参数的类型不能改变 一个方法中,只能有一个可变参数 当一个方法中有多个参数...

  • day15_foreach增强for循环_数组元素拷贝

    增强for循环_foreach 方法的可变参数 编写一个方法,统计一个数组传递过来的总和 数组元素拷贝

  • 可变参数列表

    可变参数列表 数组可以向可变参数传值,反之,不行 可变参数列表作为参数时只能放在参数的最后面 可变参数列表的方法是...

  • 可变参数

    可变参数 格式: 可变参数注意事项: 如果一个函数的参数使用了可变参数,那么调用该方法时可以传递参数也可以不传递。...

  • iOS可变参数(va_list)处理

    编写一些通用类的时候经常会遇到可变参数的处理。就好比 :UIAlertView的init方法中的otherButt...

  • iOS日记13-编写多参数传递方法

    编写一些通用类的时候经常会遇到可变参数的处理。就好比 :UIAlertView的init方法中的otherButt...

  • java面试题

    什么是可变参数?可变参数就是一个方法的参数数量不固定的参数,例子如下 什么是断言?断言就是使用assert方法传入...

网友评论

      本文标题:可变参数方法的编写

      本文链接:https://www.haomeiwen.com/subject/jccenttx.html