函數傳參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