Author: niallp
Date: Thu Jan 28 13:28:04 2010
New Revision: 904079

URL: http://svn.apache.org/viewvc?rev=904079&view=rev
Log:
Reformatting & javadoc changes only

Modified:
    
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ArrayUtils.java

Modified: 
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ArrayUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ArrayUtils.java?rev=904079&r1=904078&r2=904079&view=diff
==============================================================================
--- 
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ArrayUtils.java
 (original)
+++ 
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ArrayUtils.java
 Thu Jan 28 13:28:04 2010
@@ -3230,7 +3230,8 @@
      * the new array is the same as that of the input array.</p>
      *
      * <p>If the input array is <code>null</code>, a new one element array is 
returned
-     *  whose component type is the same as the element.</p>
+     *  whose component type is the same as the element, unless the element 
itself is null,
+     *  in which case the return type is Object[]</p>
      *
      * <pre>
      * ArrayUtils.add(null, null)      = [null]
@@ -3241,12 +3242,21 @@
      * </pre>
      *
      * @param array  the array to "add" the element to, may be 
<code>null</code>
-     * @param element  the object to add
+     * @param element  the object to add, may be <code>null</code>
      * @return A new array containing the existing elements plus the new 
element
+     * The returned array type will be that of the input array (unless null),
+     * in which case it will have the same type as the element.
      * @since 2.1
      */
     public static Object[] add(Object[] array, Object element) {
-        Class type = array != null ? array.getClass() : (element != null ? 
element.getClass() : Object.class);
+        Class type;
+        if (array != null){
+            type = array.getClass();
+        } else if (element != null) {
+            type = element.getClass();
+        } else {
+            type = Object.class;
+        }
         Object[] newArray = (Object[]) copyArrayGrow1(array, type);
         newArray[newArray.length - 1] = element;
         return newArray;


Reply via email to