JAVA中可以使用不定参数,
例如 public void test(String ...args){...} 这里test方法可以传入参数的情况是:
1.不使用参数,如test()
2.使用一个或多个参数,如test("1"); test("1","2");
3.使用数组 test(new String[]{"1","2"});
在test方法内部,我们可以像使用数组的访问方式一样来访问参数args.如:args[i] 这样就有一个好处,在参数输入不定的情况下,使用这个方法非常简单。非常易于使用。
有几点需要注意的就是
我们见到的是不定参数,其实编译器编译之后它会将这个test(String ...args){...} 编译成为数组调用的方式test(String[] args){} ,这个过程是编译中就完成了的,我们程序编写过程中看不到这个实际的转换过程。 而我们调用这个test方法时,编译器同样会把参数转换成new String[]{""}的形式调用,所以,本质上来讲,就是一个以数组为参数的调用方法,我们看不到而已,具体详细情况可以反编译class类就可以明了。
如果同时同一个类中还有一个test方法,例如test(),或者test(String args) ,我们采用 test("1")的方式调用,我们就可以知道了,因为有这个方法存在,所以编译器就会优先使用这个 test(String args) 方法,而不会使用不定参数的方法,这个原因很明确,因为不定参数本质上是一个数组为参数的方式。所以,如果你定义了一个不定参数的test方法,如果你再定义一个test(String[] args)的以数组为参数的方法,编译器就会提示你方法定义重复。道理就在这里。
希望以上的解释能够帮助到大家。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lovingprince/archive/2008/05/20/2461533.aspx
分享到:
相关推荐
在本篇文章里小编给大家分享的是关于java中不定长参数的使用方法以及相关代码内容,有兴趣的朋友们可以学习参考下。
在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多...
在方法声明中使用省略号(...) 表示,可以将不定数量的参数传递给方法。可变参数使得方法更加灵活,可以接受任意数量的参数,并以数组形式访问这些参数。 适用人群: Java可变参数适用于所有使用Java编程语言的...
输入的第一个数字为准备输入函数的个数。 对后面输入的函数求和。
在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二...
智能机器人:回帖时可以让机器人也参与到讨论中来,活跃气氛的同时说不定机器人真的能解决一些问题呢 用户个性化设置 用户可以自己设置很多参数以满足个性化需求: 帖子列表浏览分页每页条目数 回帖浏览...
进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时,加上“final”关键词来限定,这个...
在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编
GradeDemo类中的checkAnswer方法实现不定项选择判分,具体要求如下: 1) 考生答案和正确答案相同(不考虑选项顺序),得5分。 2) 考生答案不全,得2分。 3) 考生答案中有错误答案,得0分。 部分示例如下: 正确...
有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票,说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中...
MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476。 当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的...
今天小编就为大家分享快速解决SpringMVC @RequestBody 用map接收请求参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
写得比较繁琐 主要是想保留一种类似java的Object…args动态参数写法 并兼容数组/list方式传递不定个数参数 并且返回值是List形式 dict字典 以便和JSON格式互相转换 在python中有一些区别 经过该工具类封装之后可以有...
本课程从零开始,以通俗易懂的方式讲解Java入门,真正做到零基础入门学习,最适合初学者的教程!课程内容包括:1.数组简介2.数组基本用法3.动态赋值4.增强for循环5.练习:数组的用法6....不定长参数
php的基本语法和c/c++,java的差不多,只是php在定义变量时没有要显示声明变量类型,php对变量的...所以在函数中可以根据不同情况返回不同类型的值,以及可以向函数传入不定数量的参数,这一点像c/c++,java是做不到的
但是PHP 中,方法是不能重载的,因为PHP 是弱类型的语言,所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP 的方法可以接收不定个数的参数,所以通过传递不同个数的参数调用不相同方法名的不同方法也是不...
为前缀的参数(可设定设定多个),可在模板中直接调用输出 例如: single.name=xixi 模版调用: $name 输出:xixi 1.3 无任何前缀的参数,为工程要强制使用的参数,必须填写 2. 封装数据库表参数,目前只支持达梦数据库...
在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进 ...
如果没有ref,out则默认为值传递,虽然可以在方法中修改这个参数的值,但是修改后的值不会还会到调用该方法的程序中. params :params 关键字可以指定在参数数目可变处采用参数的方法参数 ref :引用传递 out : 7, ...
其它的新特性也相当诱人,熟练掌握可以大幅度提升开发效率:迭代器Iterator、生成器Generators、不定参数Rest、默认参数Default、解构Destructuring、生成器Generator、代理Proxy,以及几种新类型:Set、Map、...