[ 
https://issues.apache.org/jira/browse/LANG-1593?focusedWorklogId=634752&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-634752
 ]

ASF GitHub Bot logged work on LANG-1593:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 05/Aug/21 19:10
            Start Date: 05/Aug/21 19:10
    Worklog Time Spent: 10m 
      Work Description: HubertWo commented on a change in pull request #784:
URL: https://github.com/apache/commons-lang/pull/784#discussion_r683719682



##########
File path: src/main/java/org/apache/commons/lang3/StringUtils.java
##########
@@ -4307,13 +4481,48 @@ public static String join(final int[] array, final char 
separator) {
      * @since 3.2
      */
     public static String join(final int[] array, final char delimiter, final 
int startIndex, final int endIndex) {
+        return join(array, String.valueOf(delimiter), startIndex, endIndex);
+    }
+
+    /**
+     * <p>
+     * Joins the elements of the provided array into a single String 
containing the provided list of elements.
+     * </p>
+     *
+     * <p>
+     * No delimiter is added before or after the list. Null objects or empty 
strings within the array are represented
+     * by empty strings.
+     * </p>
+     *
+     * <pre>
+     * StringUtils.join(null, *)               = null
+     * StringUtils.join([], *)                 = ""
+     * StringUtils.join([null], *)             = ""
+     * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
+     * StringUtils.join([1, 2, 3], null) = "123"
+     * </pre>
+     *
+     * @param array
+     *            the array of values to join together, may be null
+     * @param delimiter
+     *            the separator String to use
+     * @param startIndex
+     *            the first index to start joining from. It is an error to 
pass in a start index past the end of the
+     *            array
+     * @param endIndex
+     *            the index to stop joining from (exclusive). It is an error 
to pass in an end index past the end of
+     *            the array
+     * @return the joined String, {@code null} if null array input
+     * @since 3.13.0
+     */
+    public static String join(final int[] array, final String delimiter, final 
int startIndex, final int endIndex) {
         if (array == null) {
             return null;
         }
         if (endIndex - startIndex <= 0) {
             return EMPTY;
         }
-        final StringJoiner joiner = newStringJoiner(delimiter);
+        final StringJoiner joiner = new 
StringJoiner(toStringOrEmpty(delimiter));

Review comment:
       Valid point. I brought it back. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@commons.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 634752)
    Time Spent: 3.5h  (was: 3h 20m)

> Common behaviour for StringUtils join APIs when called with char or String 
> delimiter
> ------------------------------------------------------------------------------------
>
>                 Key: LANG-1593
>                 URL: https://issues.apache.org/jira/browse/LANG-1593
>             Project: Commons Lang
>          Issue Type: Improvement
>    Affects Versions: 3.4, 3.11
>            Reporter: Kiruahxh
>            Priority: Minor
>          Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> For now, join(int[], char) is working well.
>  However, the same join method called with a string delimiter behaves 
> differently : it returns a single memory address which is not the desired 
> behavior.
>  I think that, for coherence, calling StringUtils with a char or String 
> delimiter should return the exact same value.
> Ex :
> {code:java}
> CLASSPATH="./commons-lang3-3.11.jar" jshell 
> |  Welcome to JShell -- Version 11.0.8
> jshell> import org.apache.commons.lang3.StringUtils
> jshell> int[] arr = {1, 2, 3, 4, 5, 6, 7};
> jshell> String result = StringUtils.join(arr, '-');
> result ==> "1-2-3-4-5-6-7"
> jshell> String result = StringUtils.join(arr, "-");
> result ==> "[I@69663380-"
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to