函数传参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