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

相关文章
相关标签/搜索