首页 > Java > java教程 > 正文

Java中可变参数的实例详解

零下一度
发布: 2017-07-03 09:55:17
原创
1900人浏览过

大家都知道main方法的参数就是一个数组类型的,那么它其实也是可以改成不定参数类型。我试了试,并调用了一些弹出来的方法。

public class ClassC2 {public static void main(String...args) {
        
        System.out.println(args.getClass()); //Exception in thread "main" class [Ljava.lang.String;System.out.println("======分割线1=====");
        
        System.out.println(args.hashCode()); //4126736System.out.println("======分割线2=====");
        
        System.out.println(args.toString());
        System.out.println("======分割线3====="); //[Ljava.lang.String;@3ef810        
        System.out.println(args.length); //0System.out.println("======分割线4=====");
        
        args.notify(); //java.lang.IllegalMonitorStateException    }
}
登录后复制

嗯,我把Sting后面的“[ ]”换成了三个点(...),这三个点代表Java中的可变数组参数。可变的参数类型(variable argument type),也称为不定参数类型。英文缩写是varargus。也就是说,这个方法在接收参数的时候,个数是不定的。

public class ClassC {public static void main(String[] args) {

        String[] array = { "Java", "PHP", "C#" };//传数组test(array);//调用    }static void test(String... a) { //利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@da6bf4System.out.println(a.length);//3for (int i = 0; i < a.length; i++) { // for遍历System.out.print(a[i]+"\t");//方便记录,我用了让它一行输出的效果:Java    PHP    C#        }

    }
}
登录后复制
//不像上面那样调用也可以,下面再演示几种调用方法public class ClassC {public static void main(String[] args) {
    test();//没有赋值,直接调用    }static void test(String... a) {  //利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@1e58cb8System.out.println(a.length);//0for(String s:a){  //复习一下增强for            System.out.println(s);
        }

    }
}
登录后复制
//不像上面那样调用也可以,下面再演示几种调用方法public class ClassC {public static void main(String[] args) {        // new一个空数组test(new String[0]);
    }static void test(String... a) { // 利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@1e58cb8System.out.println(a.length);//0for (String s : a) { // 复习一下增强for            System.out.println(s);
        }

    }
}
登录后复制
//不像上面那样调用也可以,下面再演示几种调用方法public class ClassC {public static void main(String[] args) {
        
        test(new String[]{"张三","李四","王五"});
    }static void test(String... a) { // 利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@b9e45aSystem.out.println(a.length);//3for (String s : a) { // 复习一下增强forSystem.out.print(s+"\t");//张三    李四    王五            }

    }
}
登录后复制

由此可见,将参数定义为可变参数,有一下两个有点:

1.不必担心将来在调用的时候,去迎合之前定义的参数;

2.没想出来

立即学习Java免费学习笔记(深入)”;

(我只想这些,欢迎补充)

以上就是Java中可变参数的实例详解的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号