public List<?> find(final String queryString, final Object... values) throws DataAccessException
定義實參個數可變的方法
只要在一個形參的「類型」與「參數名」之間加上三個連續的「.」(即「...」,英文裏的句中省略號),就能夠讓它和不肯定個實參相匹配。而一個帶有這樣的形參的方法,就是一個實參個數可變的方法。
清單1:一個實參個數可變的方法html
注意,只有最後一個形參才能被定義成「能和不肯定個實參相匹配」的。所以,一個方法裏只能有一個這樣的形參。另外,若是這個方法還有其它的形參,要把它們放到前面的位置上。 java
private static int sumUp(int... values) { }
//sumUp(1, 3, 5, 7);
編譯器會在背地裏把這最後一個形參轉化爲一個數組形參,並在編譯出的class文件裏做上一個記號,代表這是個實參個數可變的方法。
清單2:實參個數可變的方法的祕密形態-清單1對應密碼代碼。數組
private static int sumUp(int[] values) { }
//sumUp(new int[]{1, 2, 3, 4});
因爲存在着這樣的轉化,因此不能再爲這個類定義一個和轉化後的方法簽名一致的方法。 spa
參考博文:http://www.cnblogs.com/shishm/archive/2012/01/31/2332656.htmlcode