J2SE 1.5 Varargs機制(Object... params);傳遞個數可變的實參

函數傳參Object... paramssql

/**
 * 執行更新操做
 */
public int update(String sql, Object... params) throws SQLException {
    st = conn.prepareStatement(sql);
    int index = 1;
    // 填充sql語句中的佔位符
    if (params != null && params.length > 0) {
        for (int i = 0; i < params.length; i++) {
            st.setObject(index++, params[i]);
        }
    }
    return st.executeUpdate();
}

主要效果是傳遞個數可變的實參。函數

class  Hello{

    public static void generalUse(int []args){
        for (int i = 0;i < args.length ; i++ ){
            System.out.println(args[i]);
        }
    }

    public static void newBehaviour(int... args){
        for (int i = 0;i < args.length ; i++ ){
            System.out.println(args[i]);
        }
    }

    public static void main(String[] args) {
        //int[] a = {};  
        //test1   
        generalUse();   //不能經過編譯,  
        newBehaviour();

    }
}
經過測試看到,當參數爲(int... arg) 與傳統的(int [] args) 在調用時,但不傳入參數時,
傳統的使用將不能經過編譯:

關於此處寫法更詳細的介紹能夠點擊下方連接測試

http://blog.csdn.net/avius/article/details/65970[J2SE 1.5]逐漸挖掘Varargs.net

相關文章
相關標籤/搜索