Java Array Join stringJoin(Object[] array, String separator)

Here you can find the source of stringJoin(Object[] array, String separator)

Description

string Join

License

Open Source License

Declaration

public static String stringJoin(Object[] array, String separator) 

Method Source Code

//package com.java2s;
/*// w ww .j a v  a  2  s .  c  o  m
 This file belongs to the Servoy development and deployment environment, Copyright (C) 1997-2010 Servoy BV
    
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU Affero General Public License as published by the Free
 Software Foundation; either version 3 of the License, or (at your option) any
 later version.
    
 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
    
 You should have received a copy of the GNU Affero General Public License along
 with this program; if not, see http://www.gnu.org/licenses or write to the Free
 Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
 */

import java.util.ArrayList;
import java.util.Arrays;

import java.util.Iterator;
import java.util.List;

public class Main {
    public static String stringJoin(Object[] array, char separator) {
        if (array == null)
            return null;
        return stringJoin(Arrays.asList(array).iterator(), separator);
    }

    public static String stringJoin(Object[] array, String separator) {
        if (array == null)
            return null;
        return stringJoin(Arrays.asList(array).iterator(), separator);
    }

    /**
     * <p>
     * Joins the elements of the provided <code>Iterator</code> into a single String containing the provided elements.
     * </p>
     *
     * <p>
     * No delimiter is added before or after the list. Null objects or empty strings within the iteration are represented by empty strings.
     * </p>
     *
     * @param iterator the <code>Iterator</code> of values to join together, may be null
     * @param separator the separator character to use
     * @return the joined String, <code>null</code> if null iterator input
     */
    public static String stringJoin(Iterator<?> iterator, char separator) {
        if (iterator == null) {
            return null;
        }
        StringBuilder buf = new StringBuilder(256); // Java default is 16, probably too small
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            if (obj != null) {
                buf.append(obj);
            }
            if (iterator.hasNext()) {
                buf.append(separator);
            }
        }
        return buf.toString();
    }

    public static String stringJoin(Iterator<?> iterator, String separator) {
        if (iterator == null) {
            return null;
        }
        StringBuilder buf = new StringBuilder(256); // Java default is 16, probably too small
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            if (obj != null) {
                buf.append(obj);
            }
            if (iterator.hasNext()) {
                buf.append(separator);
            }
        }
        return buf.toString();
    }

    public static <T> List<T> asList(Iterator<? extends T> it) {
        List<T> lst = new ArrayList<T>();
        while (it.hasNext()) {
            lst.add(it.next());
        }
        return lst;
    }
}

Related

  1. joinStringArray(String[] array1, String[] array2)
  2. joinStrings(String[] strings, String separator)
  3. joinTokens(String tokens[], String pad)
  4. joinWithPrefixes(String[] prefixes, String name, String sep)
  5. joinWithSpaces(final String[] cmds)