老蔡的个人专栏正式成立,以后工作中遇到的技术问题,或者生活中对一些事物的见解,都会和大家分享!独乐乐不如众乐乐!

java可变参数String…的定义

JAVA BlandonTsai 2295℃ 0评论

近来偶卖啦项目刚刚接手,由于spring MVC的框架与之前公司用到的框架构造处理方式有点差异,所以花费了一些时间去检代码。偶然看到了这种 String… 的写法,由于很少遇到过这种写法,一般在项目流程中都是明确定义的。所以,查看了一番它的具体使用方法。

这是读取属性文件的工具类,由于属性文件可能有多个,所以参数传入的时候使用的可变参数。

首先这是jdk1.5之后的新特性,我们叫它为可变参数,即 varargs 。之前我们定义可变参数是采用String[] args的方法来声明。jdk1.5之后有了更加简便的方式。

事实上String[] args 和 String… args 本质上不没有什么区别,String… args 最后还是转化成String[] args 来做的,只是String… args这种形式在应用上更加的灵活和简便。

例如有下面的两个方法:

他们可以这样子被调用:

但是不能:

就是String… args定义方法的灵活之处。并且当一个方法定义中有String… args形参时,实参传递的参数个数可以是少于最大个数的任意个,可以不传参数。

但是这样子定义在方便的同时也是要付出一定的代价的,那就是String… args只能定义在形参的最后一个参数,而String[] args就没有这样的限制了。所以我们在定义的时候也就各取所需了。

转载请注明:似水流年 » java可变参数String…的定义

如果觉得文章还不错,欢迎打赏
喜欢 (0)or分享 (0)
头像
发表我的评论
取消评论


(1)个小伙伴在吐槽
  1. 头像
    学习使人进步,到此拜读!
    衣皇后2017-03-31 13:27 回复