Java String Array Combine combine(String... s)

Here you can find the source of combine(String... s)

Description

"a", "b", "c" -> "a b c a-b a-b-c" "a", "b", null -> "a b a-b"

License

Apache License

Declaration

public static String combine(String... s) 

Method Source Code

//package com.java2s;
/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License./* ww  w  .j a  v  a  2s.  c o m*/
 */

public class Main {
    /**
     * "a", "b", "c" -> "a b c a-b a-b-c"
     * "a", "b", null -> "a b a-b"
     */
    public static String combine(String... s) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length; i++) {
            if (s[i] != null) {
                sb.append(s[i]);
                if (i < s.length - 1 && s[i + 1] != null) {
                    sb.append(' ');
                }
            }
        }
        for (int j = 1; j < s.length; j++) {
            if (s[j] != null) {
                sb.append(' ');
                for (int i = 0; i <= j; i++) {
                    sb.append(s[i]);
                    if (i < j && s[i + 1] != null) {
                        sb.append('-');
                    }
                }
            }
        }
        return sb.toString();
    }
}

Related

  1. combine(final String[] left, final String[] right)
  2. combine(String sep, String... s)
  3. combine(String style1, String style2)
  4. combine(String... vals)
  5. combine(String[] a, String[] b, String glue)
  6. combine(String[] array1, String[] array2)
  7. combine(String[] strs, String delimeter)