我想加入一个字符串[]与胶水字符串。有这个函数吗?


当前回答

类似的替代方案

/**
 * @param delimiter 
 * @param inStr
 * @return String
 */
public static String join(String delimiter, String... inStr)
{
    StringBuilder sb = new StringBuilder();
    if (inStr.length > 0)
    {
        sb.append(inStr[0]);
        for (int i = 1; i < inStr.length; i++)
        {
            sb.append(delimiter);                   
            sb.append(inStr[i]);
        }
    }
    return sb.toString();
}

其他回答

从Java8开始,可以使用String.join()。

String.join(", ", new String[]{"Hello", "World", "!"})

生成:

Hello, World, !

另外,Apache Commons Lang有一个StringUtils类,它有一个连接函数,可以将数组连接在一起形成一个String。

例如:

StringUtils.join(new String[] {"Hello", "World", "!"}, ", ")

生成以下字符串:

Hello, World, !

arrays有一个“asList”方法。与java.util一起使用。列表/数组列表API,这给了你所有你需要的:

private static String[] join(String[] array1, String[] array2) {

    List<String> list = new ArrayList<String>(Arrays.asList(array1));
    list.addAll(Arrays.asList(array2));
    return list.toArray(new String[0]);
}

类似的替代方案

/**
 * @param delimiter 
 * @param inStr
 * @return String
 */
public static String join(String delimiter, String... inStr)
{
    StringBuilder sb = new StringBuilder();
    if (inStr.length > 0)
    {
        sb.append(inStr[0]);
        for (int i = 1; i < inStr.length; i++)
        {
            sb.append(delimiter);                   
            sb.append(inStr[i]);
        }
    }
    return sb.toString();
}

如果你正在使用Spring框架,那么你有StringUtils类:

import static org.springframework.util.StringUtils.arrayToDelimitedString;

arrayToDelimitedString(new String[] {"A", "B", "C"}, "\n");

据我所知,没有内置的。

Apache Commons Lang有一个名为StringUtils的类,其中包含许多连接函数。