HubertWo commented on a change in pull request #784:
URL: https://github.com/apache/commons-lang/pull/784#discussion_r701551517
##########
File path: src/main/java/org/apache/commons/lang3/StringUtils.java
##########
@@ -4858,6 +5082,209 @@ public static String join(final short[] array, final
char delimiter, final int s
return join(elements, null);
}
+ /**
+ * Joins the elements of the provided array into a single String
+ * containing the provided list of elements.
+ *
+ * <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 elements
+ * the values to join together, may be null
+ * @param separator
+ * the separator String to use
+ * @return the joined String, {@code null} if null array input
+ * @since 3.13.0
+ */
+ public static String join(final byte[] elements, final String separator) {
+ return elements == null ? null : join(elements, separator, 0,
elements.length);
+ }
+
+ /**
+ * Joins the elements of the provided array into a single String
+ * containing the provided list of elements.
+ *
+ * <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([false,true,false], ";") = "false;true;false"
+ * StringUtils.join([false,true,false], null) = "falsetruefalse"
+ * </pre>
+ *
+ * @param elements
+ * the values to join together, may be null
+ * @param separator
+ * the separator String to use
+ * @return the joined String, {@code null} if null array input
+ * @since 3.13.0
+ */
+ public static String join(final boolean[] elements, final String
separator) {
+ return elements == null ? null : join(elements, separator, 0,
elements.length);
+ }
+
+ /**
+ * Joins the elements of the provided array into a single String
+ * containing the provided list of elements.
+ *
+ * <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(['a', 'b', 'c'], ";") = "a;b;c"
+ * StringUtils.join(['a', 'b', 'c'], null) = "abc"
+ * </pre>
+ *
+ * @param elements
+ * the values to join together, may be null
+ * @param separator
+ * the separator String to use
+ * @return the joined String, {@code null} if null array input
+ * @since 3.13.0
+ */
+ public static String join(final char[] elements, final String separator) {
+ return elements == null ? null : join(elements, separator, 0,
elements.length);
Review comment:
1. The method is public - so users may pass ```null``` as
```elements``` which will cause ```NPE``` in the same line ```elements.length```
```
assertNull(StringUtils.join((char[]) null, "-")); // throws NPE if null
check is removed
```
2. This case was not tested, so I added additional assertions in tests to
cover it.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]