java中可变长参数

 1 **
 2  * Created by Lenovo on 2017/12/10.
 3  * java中可变长参数
 4  */
 5 public class reflect04 {
 6
 7     //m1有一个int类型的可比变长参数
 8     //m1在调用的时候实参可以是0-N个
 9     public static void m1(int... a){
10         System.out.println("int型可变长参数执行...."+a);
11     }
12
13     //如果有可以精确匹配的方法则调用该方法,不会再执行可变长参数的那个方法
14     public static void m1(int a){
15         System.out.println("精确匹配执行....."+a);
16     }
17
18     //可变长参数可以等同看做一个数组
19     public static void m2(String... args){
20         for(int i=0;i<args.length;i++){
21             System.out.println("m2都喜欢的运动如下:"+args[i]);
22         }
23     }
24
25     public static void m3(Class... args) throws Exception{
26
27         for(int i=0;i<args.length;i++){
28             Class arg = args[i];
29             System.out.println(arg.newInstance());
30         }
31     }
32
33     //可变长参数只能出现一次,并且只能出现在所有参数的最后一位
34     //错误实例:
35     //public static void m4(String... args,int i){}
36     public static void main(String[] args) throws Exception {
37
38         //执行m1
39         m1(1);      //调用精确匹配的m1方法
40         m1(1,2);
41         m1(1,2,3);
42         m1(1,2,3,4);
43
44         //执行m2
45         m2("旅游","看电影","游泳","打球");
46
47         //执行m3
48         m3(Date.class,Employlee.class);
49
50         //m1输出
51         //m1精确输出:精确匹配执行.....1
52         //int型可变长参数执行....[[email protected]
53         //int型可变长参数执行....[[email protected]
54         //int型可变长参数执行....[[email protected]
55
56         //m2输出
57         //m2都喜欢的运动如下:旅游
58         //m2都喜欢的运动如下:看电影
59         //m2都喜欢的运动如下:游泳
60         //m2都喜欢的运动如下:打球
61
62         //m3输出
63         //Sun Dec 10 21:59:58 CST 2017
64         //空参构造方法执行.....
65         //Employlee{name=‘null‘}
66     }
67 }
时间: 2024-10-06 04:44:02

java中可变长参数的相关文章

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

在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下面介绍如何定义可变长参数 以及如何使用可变长参数. 1. 可变长参数的定义 使用...表示可变长参数,例如 prin

关于C中可变长参数

前言 可变长参数指函数的参数个数在调用时才能确定的函数参数.基本上各种语言都支持可变长参数,在特定情形下,可变长参数使用起来非常方便.c语言中函数可变长参数使用"..."来表示,同时可变长参数只能位于固定参数的后面,固定参数的个数至少为1.只要学习过c语言的,应该都知道printf函数,并且见识到了其强大的功能--事实上,迄今为止,我仍认为这是c函数库中最牛逼的函数之一. 一.一个简单的例子 #include <string>  #include <stdio>

巩固java(六)----java中可变参数方法(非常实用哦)

java提供了可变参数的方法,即方法的参数个数可以不确定,用"..."定义. import java.util.ArrayList; import java.util.List; public class VariableParameter { //求若干个整型数中的最大值 public int getMax(int... items){ //定义可变参数items int max = Integer.MIN_VALUE; //次数为int能表示的最小值,值为-2147483648 f

Python中函数的参数传递与可变长参数

1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0): 2 print text,num 3 4 foo("asd") #asd 0 5 foo("def",100) #def 100 定义有默认参数的函数时,这些默认值参数位置必须都在非默认值参数后面. 调用时提供默认值参数值时,使用提供的值,否则使用默认值. 2.Python可以根据参数名传参数 1 def foo(ip,port): 2 print "%s:%d

Java可变长参数

简单例子1: 1 public class Varable { 2 public static void main(String[] args) { 3 print("I ","love ","you ","!"); 4 } 5 static void print(String... agrc){//可变长参数 6 for(String i:agrc){ //在具有可变长参数的方法中可以把参数当成数组使用. 7 System.

Python函数中的可变长参数_速记

一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 二.可变长参数 1.一个星号:函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历 def length_param(a, *args): print("a=", a) pri

C语言可变长参数 思考

1.我们为什么需要可变长参数 各种编程语言,如C.C++.java等都实现了可变长参数的函数.普通函数的参数个数是确定的,如果同一个函数可以接受不同数目的参数就需要适用到可变长度的参数.可变长度参数一个最典型的例子就是printf和scanf.以printf为例子,如可以有printf("Hello Word"),printf("Hello word%s","!"),printf("Hello word%s%d","

C 可变长参数运用-----编写Lua的通用调用函数

1.C可变长参数 printf这个使用频繁的C语言函数的参数列表包含一个const char*的描述串,还有一个可变长参数(...) ,如下为printf的函数声明. int printf(const char * __restrict, ...) 在stdarg.h这个头文件中包含着对可变长参数进行操作的一些宏(x86平台为例): #define va_start(ap,v)( ap = (va_list)&v + _INTSIZEOF(v) ) #define va_arg(ap,t) ( 

C语言可变长参数实现原理

博客:存储系统研究 微博:http://weibo.com/u/2203007022             (1)      C语言可变参数 我们可以从C语言的printf得出可变参数的作用,printf函数的原型如下: int printf ( const char * format, ... ); 通过使用可变个数参数,就是传入的参数个数是可变的,如printf需要根据format实参传入多个实参. (2)      C语言可变参数的使用 下面一个函数myprintf是自己实现的比较简单的