可变参数,你还为方法的参数而烦恼吗?可变参数…
2019-09-02 09:43:42来源:博客园 阅读 ()
可变参数,你还为方法的参数而烦恼吗?可变参数,让你的头发从此“茂密”!
为什么要写可变参数呢?
今天为什么我会写这篇博客呢,一个可变参数而已,也没什么技术含量,原因是因为,今天朋友看我代码的时候问我,这个是什么
1 public static void k(String... str){} 2 //代码我就不放上来了,比较长,就简短的写个例子
当时我很惊讶,问他,这个你不知道吗,很早就出了,然后和他解释了一番,随后想了一下,可能是教他的老师,不在乎,或是赶课程,把这个可变参数跳过了。
好了,闲话少说,步如正题:
什么是可变参数呢?
可变参数是在jdk1.5的时候,推出的新特性。
顾名思义,就是可以变换的参数列表,这个参数可多可少,比如说,你又一个方法,这个方法一般写的话,参数是固定的,俩个参数就是俩个参数,一个参数就是参数,而这个可变参数,就是,在你使用它的时候,他可以是俩个也可以是三个也可以是一个。
可变参数底层实现是数组,可以做一个简单的测试如下:
大家可以看到,在编译阶段它就报错了,之所以会报错,是因为,可变参数的底层实现就是数组,上面我们是用String,所以编译的时候,可变参数会转成String[](方法的可变参数在编译时会被看成具有相同类型的一维数组),这时它们的参数就一样了,冲突了,所以会报错。
### 可变参数怎么用呢?
可变参数的使用很简单,只要在方法参数的类型后面加三个点就可以了
1 public static void t(String... a) {}
同时也要注意,可变参数只能写在参数列表的最后一个,否则在编译时就会报错
还要注意,一个方法的参数列表里只能有一个可变参数
其实这个也可以说是和可变参数只能放在最后一个相互印证了
写一个简单的小例子供参考
1 public static void main(String[] args) { 2 t(1,2.0,"张三","李四","王五"); 3 } 4 public static void t(int i,double d,String... str) { 5 System.out.println(str.length); 6 }
输出结果: ======== 1 3
可变参数在什么时候用呢?
可变参数在你确定不了方法参数的时候,或则你方法的参数可能会存在增加/减少的时候用。
原文链接:https://www.cnblogs.com/canchi/p/11440310.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java连载118-编译一个类(包括内部函数、方法、类型、参数) 2020-05-27
- 路径变量@PathVariable/请求参数@RequestParam的绑定以及@Re 2020-05-24
- 这 17 个 JVM 参数,高级 Java 必须掌握! 2020-05-21
- SpringMVC中如何获取请求参数?案例详解 2020-05-19
- 4-JVM 参数 2020-05-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash