You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2009/09/23 21:16:19 UTC
svn commit: r818214 -
/commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java
Author: mbenson
Date: Wed Sep 23 19:16:19 2009
New Revision: 818214
URL: http://svn.apache.org/viewvc?rev=818214&view=rev
Log:
generics for addAll(Object[], Object[]) + varargs for all addAll addends
Modified:
commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java
Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java?rev=818214&r1=818213&r2=818214&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java Wed Sep 23 19:16:19 2009
@@ -241,7 +241,7 @@
final Map<Object, Object> map = new HashMap<Object, Object>((int) (array.length * 1.5));
for (int i = 0; i < array.length; i++) {
Object object = array[i];
- if (object instanceof Map.Entry) {
+ if (object instanceof Map.Entry<?, ?>) {
Map.Entry<?,?> entry = (Map.Entry<?,?>) object;
map.put(entry.getKey(), entry.getValue());
} else if (object instanceof Object[]) {
@@ -2962,17 +2962,14 @@
* The type of the new array is the type of the first array.
* @since 2.1
*/
- public static Object[] addAll(Object[] array1, Object[] array2) {
- /* this method could be generic as <T, U extends T> T[] addAll(T[], U[]), but if array1 == null,
- * clone array2, then caller tries to add T objects to the U clone, could be a problem.
- * Could add another version of the method where the first array cannot be null... :/
- */
+ @SuppressWarnings("unchecked")
+ public static <T> T[] addAll(T[] array1, T... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
return clone(array1);
}
- Object[] joinedArray = (Object[]) Array.newInstance(array1.getClass().getComponentType(),
+ T[] joinedArray = (T[]) Array.newInstance(array1.getClass().getComponentType(),
array1.length + array2.length);
System.arraycopy(array1, 0, joinedArray, 0, array1.length);
System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
@@ -2996,7 +2993,7 @@
* @return The new boolean[] array.
* @since 2.1
*/
- public static boolean[] addAll(boolean[] array1, boolean[] array2) {
+ public static boolean[] addAll(boolean[] array1, boolean... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3025,7 +3022,7 @@
* @return The new char[] array.
* @since 2.1
*/
- public static char[] addAll(char[] array1, char[] array2) {
+ public static char[] addAll(char[] array1, char... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3054,7 +3051,7 @@
* @return The new byte[] array.
* @since 2.1
*/
- public static byte[] addAll(byte[] array1, byte[] array2) {
+ public static byte[] addAll(byte[] array1, byte... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3083,7 +3080,7 @@
* @return The new short[] array.
* @since 2.1
*/
- public static short[] addAll(short[] array1, short[] array2) {
+ public static short[] addAll(short[] array1, short... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3112,7 +3109,7 @@
* @return The new int[] array.
* @since 2.1
*/
- public static int[] addAll(int[] array1, int[] array2) {
+ public static int[] addAll(int[] array1, int... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3141,7 +3138,7 @@
* @return The new long[] array.
* @since 2.1
*/
- public static long[] addAll(long[] array1, long[] array2) {
+ public static long[] addAll(long[] array1, long... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3170,7 +3167,7 @@
* @return The new float[] array.
* @since 2.1
*/
- public static float[] addAll(float[] array1, float[] array2) {
+ public static float[] addAll(float[] array1, float... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {
@@ -3199,7 +3196,7 @@
* @return The new double[] array.
* @since 2.1
*/
- public static double[] addAll(double[] array1, double[] array2) {
+ public static double[] addAll(double[] array1, double... array2) {
if (array1 == null) {
return clone(array2);
} else if (array2 == null) {