1. 程式人生 > >關於變量 Objects...objects 和Object[] objects的區別

關於變量 Objects...objects 和Object[] objects的區別

() 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的區別