可变长参数

  • 可变长参数只能在形参列表的最后一个,且只能出现一次。

  • 代码实例

    import java.util.Date;

    public class 可变长参数 {

    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {

    1. //m1方法传入的实参可以是0~n个,如果有参数精确匹配的方法,那么会去调用精确匹配的,就不会调用可变长参数了
    2. m1();
    3. m1(1);
    4. m1(2,3);
    5. m1(1,2,3,4,5);
    6. //m2方法是一个字符串类型的可变长参数 ,可以给可变长参数传入一个字符串数组
    7. String [] strs={"13点46分","4.9","星期五"};
    8. m2(strs);
    9. //调用m3方法
    10. Class c1=Class.forName("java.util.Date");
    11. Class c2=Class.forName("com.shige.Reflect.Employee");
    12. m3(c1,c2);
    13. }

    //m1方法种有一个int可变长参数 可变长参数只能在形参列表的最后一个,且只能出现一次。

    public static void m1(int...a){

    System.out.println(a);

    }

    1. public static void m1(int a){
    2. System.out.println(a);
    3. }
    4. public static void m1(int a,int b){
    5. System.out.println(a);
    6. }

    //m2 方法 是一个字符串类型的可变长参数

    public static void m2(String...strs){

    //可变长参数也有length属性

    for (int i = 0; i < strs.length; i++) {

    System.out.print(strs[i]+" ");

    1. }
    2. }

    //m3 方法是一个Class类型的可变长参数

    public static void m3(Class...args) throws IllegalAccessException, InstantiationException {

    for (int i = 0; i <args.length ; i++) {

    Class c=args[i];

    System.out.println(c.newInstance()); //调用无参数构造方法

    }

    1. }

    }

Day14_78_可变长参数的更多相关文章

  1. 在Python中使用可变长参数列表

    函数定义 在函数定义中使用*args和**kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); **kwargs用作传递键值可变长参数列表 函数调用 在调用函数时,使 ...

  2. python中非关键字可变长参数和关键字变量参数的区别

    #非关键字可变长参数 def add(*arg):    return type(arg) print add() #打印结果 <type 'tuple'> #关键字变量参数 def ab ...

  3. Java中的可变长参数

    可变长参数的定义 与一般方法没多大差别,只不过形参多了...(三个点) 方法名(数据类型 ... 变量名){} 小案例: public class ParamDemo { public static ...

  4. javascript arguments解释,实现可变长参数。

    在C#中,有可变长参数params[],但是在js中,如何实现这种可变参数呢? 一.可变长参数 arguments是非常好的解决方法,一直不知道javascript有这个东西. 先来看看应用场景,使用 ...

  5. python 函数可变长参数

    python中的可变长参数有两种: 一种是非关键字参数(*元组),另一种是关键字参数(**字典) 非关键字可变长参数: """ 非关键字可变参数,一个星号作为元组传入函数 ...

  6. Java可变参数/可变长参数

    Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...

  7. Java 数组 可变长参数 实例

    可以把类型相同但个数可变的参数传递给方法,方法中的参数声明如下: typeName...parameterName (类型名...参数名) 在方法声明中,指定类型后紧跟着省略号...,只能给方法指定一 ...

  8. Java中可变长参数的使用及注意事项

    在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print( ...

  9. 可变长参数列表误区与陷阱——va_arg不可接受的类型

    可变长参数列表误区与陷阱--va_arg不可接受的类型 实现一个有可变长参数列表函数的时候,会使用到stdarg.h(这里不讨论varargs.h)中提供的宏. 例如,我们要实现一个简易的my_pri ...

随机推荐

  1. Spring Boot 2.x基础教程:使用MongoDB

    前段时间因为团队调整,大部分时间放在了团队上,这系列的更新又耽误了一下.但既然承诺持久更新,那就不会落下,今天开始继续更新这部分的内容! 过了年,重申一下这个系列的目标:目前主要任务就是把Spring ...

  2. 关于《Android编程权威指南》的MockWalker在模拟器中无法运行的解决方法

    1.打开模拟器中的Dev Settings应用. 2.选中Allow mock locations选项. 之后应该就能正常运行了.

  3. 简述Python垃圾回收机制和常量池的验证

    目录 通过代码验证python解释器内部使用了常量池 Python的引入 变量的引入 为什么要有变量 定义变量 常量引入 常量池引入 Python解释器 Python变量存储机制 Python垃圾回收 ...

  4. Sentinel高级

    Sentinel高级 sentinel和springCloud整合 减少开发的复杂度,对大部分的主流框架,例如:Web Servlet.Dubbo.Spring Cloud.gRPC.Spring W ...

  5. vue 树形数据增加属性并计算树节点的深度

    需求:在一组菜单树结构中转换数据结构(增加一些属性),并计算该树结构的节点深度. 实现util.js: function transferTreeData(arr, vm, list, level, ...

  6. 你想知道的 std::vector::push_back 和 std::vector::emplace_back

    引言 C++ 11 后,标准库容器 std::vector 包含了成员函数 emplace 和 emplace_back.emplace 在容器指定位置插入元素,emplace_back 在容器末尾添 ...

  7. java 实现快速排序

    package leetcode;public class Singleton { public static void sort(int[] array,int low,int high){ int ...

  8. python列表,元组,字典,集合的比较总结

    这四个都是python中的序列,用于存放数据,他们区别总结如下:   列表list 元组tuple 字典dictionary 集合set 是否可变 可变 不可变 可变 可变 是否有序 有序 有序 无序 ...

  9. IntelliJ IDEA报错总结

    不能运行java程序 可能是没有选择运行环境点击 edit Configurations在Use classpath of module 中选择本项目的运行环境 Run报错: Error:java: ...

  10. gsoap多wsdl集成

    gsoap常规用法: 通过wsdl文件创建头文件 //通过wsdl文件创建头文件 wsdl2h [options] -o file.h ... WSDL and XSD files or URLs t ...