[ 
https://issues.apache.org/jira/browse/LANG-1073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14246036#comment-14246036
 ] 

Bruno P. Kinoshita commented on LANG-1073:
------------------------------------------

Hello again Haiyang! Nice catch. It was working as expecting due to 
{{Array.newInstance}} taking care of creating new arrays with the correct type. 
Furthermore, the {{public static <T> T[] add(final T[] array, final int index, 
final T element)}} method uses {{.getComponentType()}} as you suggested too.

Tested locally and all tests passed. 

Thank you!
Bruno

> Read wrong component type of array in add in ArrayUtils
> -------------------------------------------------------
>
>                 Key: LANG-1073
>                 URL: https://issues.apache.org/jira/browse/LANG-1073
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 3.3.2
>            Reporter: haiyang li
>            Priority: Minor
>             Fix For: Discussion
>
>
> {code:title=org.apache.commons.lang3.ArrayUtils.java|borderStyle=solid}
>     public static <T> T[] add(final T[] array, final T element) {
>         Class<?> type;
>         if (array != null){
>             type = array.getClass();
>         } else if (element != null) {
>             type = element.getClass();
>         } else {
>             throw new IllegalArgumentException("Arguments cannot both be 
> null");
>         }
>         .......
>     }
> {code}
> I think it should be:
> {code:title=org.apache.commons.lang3.ArrayUtils.java|borderStyle=solid}
>     public static <T> T[] add(final T[] array, final T element) {
>         Class<?> type;
>         if (array != null){
>             type = array.getClass().getComponentType();
>         } else if (element != null) {
>             type = element.getClass();
>         } else {
>             throw new IllegalArgumentException("Arguments cannot both be 
> null");
>         }
>         .......
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to