java语言中的varargs

Posted Haart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java语言中的varargs相关的知识,希望对你有一定的参考价值。

java语言中的varargs允许调用者传递数量不定的参数,并传入的数量不定的实参转化为数组形式的形参。

那么不传递任何参数,或者传入null时,形参的值是什么呢?下面是测试代码和运行结果:

 1     private void test1(int... args) {
 2         if (args != null) {
 3             System.out.println("[test1] args.length = " + args.length);
 4         } else {
 5             System.out.println("[test1] args is null");
 6         }
 7     }
 8 
 9     private void test2(String... args) {
10         if (args != null) {
11             System.out.println("[test2] args.length = " + args.length);
12         } else {
13             System.out.println("[test2] args is null");
14         }
15     }
16 
17     public void static main(String[] args) {
18         test1();
19         test1(null);
20         test1(1);
21         test1(1,2);
22 
23         test2();
24         test2(null);
25         test2("1");
26         test2("a", "b");
27     }

[test1] args.length = 0
[test1] args is null
[test1] args.length = 1
[test1] args.length = 2
[test2] args.length = 0
[test2] args is null
[test2] args.length = 1
[test2] args.length = 2

结论:

  1. 如果不传参数,那么形参的值是长度为0的数组。
  2. 如果传入null,那么形参的值是null,但是编译时会有警告提示。

 

以上是关于java语言中的varargs的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 等效于 Java 的 Varargs

可以直接拿来用的15个jQuery代码片段

几个可以直接拿来用的jQuery代码片段

几个可以直接拿来用的jQuery代码片段

JS代码片段:一个日期离现在多久了

Java 1.7 varargs 函数报告为未经检查的警告