關於變量 Objects...objects 和Object[] objects的區別
阿新 • • 發佈:2017-09-03
() public mage com cti stat div ack ucc
上一篇用到Objects...objects 和Object[] objects的遇到點小問題,於是我去做了個實驗,關於這兩個變量傳參的問題
代碼如下
package com.yck.test; public class ObjectsTest { public static String function(Object...objects) { return "success"; } public static String func(Object[] objs) { return "victory"; }public static void main(String[] args) { System.out.println("function(Objects...object) 不帶參數"+function()); //System.out.println("func(Object[] objs) 不帶參數"+func()); //自動報錯 System.out.println("function(Objects...object) 帶單個參數"+function(1)); //System.out.println("func(Object[] objs) 帶單個參數"+func(1));//自動報錯 //System.out.println("func(Object[] objs) 帶單個參數"+func(1)); //自動報錯 Object[] objs = {1,"String",true}; System.out.println("function(Objects...object) 帶數組參數"+function(objs)); System.out.println("func(Object[] objs) 帶數組參數"+func(objs)); System.out.println("function(Objects...object) 帶多個變量"+function(1,"hello",true)); } }
結果如下
很明顯,我們可以得出以下結論
當形參為Object[]數組時,調用該方法必須為一個數組
當形參為Object...objects時,調用就相當靈活了,可以不帶參數,可以帶一個參數或者多個參數,也可以帶數組作為參數
關於變量 Objects...objects 和Object[] objects的區別