[ 
https://issues.apache.org/jira/browse/LANG-1771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary D. Gregory resolved LANG-1771.
-----------------------------------
    Fix Version/s: 3.19.0
       Resolution: Fixed

>  Incorrect output from ClassUtils.getCanonicalName when input is "[String" in 
> version 3.18.0-SNAPSHOT
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LANG-1771
>                 URL: https://issues.apache.org/jira/browse/LANG-1771
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 3.18.0
>         Environment: MacOS Sequoia Version 15.3.2
> JDK 8
>  
>            Reporter: IlikeCode
>            Priority: Major
>             Fix For: 3.19.0
>
>         Attachments: Screenshot 2025-05-20 at 2.23.16 am.png
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> In org.apache.commons.lang3.ClassUtils, the method "public static String 
> getShortCanonicalName(final String canonicalName)" returns an incorrect 
> result when given certain malformed array class name strings. Specifically, 
> for the input {{{}"[String"{}}}, it incorrectly returns {{"short[]"}} instead 
> of the expected {{{}"String[]"{}}}.
>  
> Test Code
> {code:java}
> package org.apache.commons.lang3;
> import org.junit.jupiter.api.Test;
> import static org.junit.jupiter.api.Assertions.assertEquals;
> public class ClassUtilsGetCanonicalName {
>     @Test
>     public void testGetCanonicalName() {
>         // Test case: Non-empty string with one array dimension
>         String input = "[String";
>         String expectedOutput = "String[]";
>         String actualOutput = ClassUtils.getShortCanonicalName(input);
>         assertEquals(expectedOutput, actualOutput);
>     }
> }
>  {code}
> Expected Result: String[]
> Actual Result: short[]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to