Here you can find the source of join(Iterable
Parameter | Description |
---|---|
strings | Strings to join. |
public static String join(Iterable<String> strings)
//package com.java2s; /**//from ww w. j av a2 s .c om * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ import java.util.Iterator; public class Main { /** * Concatenates strings, using a separator. * * @param separator Separator to join with. * @param strings Strings to join. */ public static String join(CharSequence separator, Iterable<?> strings) { Iterator<?> i = strings.iterator(); if (!i.hasNext()) { return ""; } StringBuilder sb = new StringBuilder(i.next().toString()); while (i.hasNext()) { sb.append(separator); sb.append(i.next().toString()); } return sb.toString(); } /** * Concatenates strings, using whitespaces as separator. * * @param strings Strings to join. */ public static String join(Iterable<String> strings) { return join(" ", strings); } /** * Concatenates strings, using whitespaces as separator. * * @param strings Strings to join. */ public static String join(char separator, Iterable<?> strings) { return join(separator + "", strings); } /** * Concatenates strings, using a separator. * * @param separator to join with * @param strings to join * @return the joined string */ public static String join(CharSequence separator, String[] strings) { // Ideally we don't have to duplicate the code here if array is iterable. StringBuilder sb = new StringBuilder(); boolean first = true; for (String s : strings) { if (first) { first = false; } else { sb.append(separator); } sb.append(s); } return sb.toString(); } public static String join(char separator, String[] strings) { return join(separator + "", strings); } }