Index: lutinutil/src/java/org/codelutin/util/ArrayUtil.java diff -u lutinutil/src/java/org/codelutin/util/ArrayUtil.java:1.11 lutinutil/src/java/org/codelutin/util/ArrayUtil.java:1.12 --- lutinutil/src/java/org/codelutin/util/ArrayUtil.java:1.11 Sun Dec 30 22:27:52 2007 +++ lutinutil/src/java/org/codelutin/util/ArrayUtil.java Tue Jan 8 01:13:20 2008 @@ -23,9 +23,9 @@ * Created: 31 oct. 2004 * * @author Benjamin Poussin - * @version $Revision: 1.11 $ + * @version $Revision: 1.12 $ * - * Mise a jour: $Date: 2007-12-30 22:27:52 $ + * Mise a jour: $Date: 2008-01-08 01:13:20 $ * par : $Author: tchemit $ */ @@ -35,13 +35,16 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Collection; public class ArrayUtil { // ArrayUtil /** * Permet de convertir un tableau en une liste, le type primitif * est encapsulé dans un objet. + * @param a le tableau a convertir * @deprecated avec l'auto-boxing en java 5 et plus ? + * @return la liste */ static public List asList(double [] a){ ArrayList result = new ArrayList(a.length); @@ -58,7 +61,9 @@ /** * Permet de convertir un tableau en une liste, le type primitif * est encapsulé dans un objet. - * @deprecated avec l'auto-boxing en java 5 et plus ? + * @param a le tableau a convertir + * @deprecated avec l'auto-boxing en java 5 et plus ? + * @return la liste */ static public List asList(int [] a){ ArrayList result = new ArrayList(a.length); @@ -81,7 +86,10 @@ * Fait la somme des 2 tableaux et retourne un nouveau tableau, les * 2 tableaux passés en argument ne sont pas modifiés. Les deux tableaux * doivent être non null et avoir la même taille. - */ + * @param a le premier tableau + * @param b le second tableau + * @return le tableau des sommes + */ static public int [] sum(int [] a, int [] b){ if(a == null || b == null || a.length != b.length){ throw new IllegalArgumentException("Au moins des tableaux est null ou les tableaux ne font pas la même taille"); @@ -115,10 +123,9 @@ * Retourne un nouveau tableau qui est la concatenation des deux autres. * Essai de garder pour le tableau resultat le type des tableaux en entré * si possible. [Double], [Number] -> [Number]; [Double], [Long] -> [Object] - * @param a le premier tableau ou null - * @param b le deuxieme tableau ou null + * @param tabs les tableaux * @return le nouveau tableau ou null, si les deux tableaux sont null - * @todo essayer de retourner le meilleur type de tableau possible + * todo essayer de retourner le meilleur type de tableau possible * [Double], [Long] -> [Number] */ static public Object [] concat(Object [] ... tabs){ @@ -186,10 +193,11 @@ } @SuppressWarnings({"unchecked"}) - static public T[] toArray(List list,Class clazz) { + static public T[] toArray(Collection list,Class clazz) { T[] result = (T[]) Array.newInstance(clazz,list==null?0:list.size()); - for (int i = 0; i < result.length; i++) { - result[i]= (T) list.get(i); + int i=0; + for (Object o : list) { + result[i++] = (T) o; } return result; }