String[] s = new String[] {"a", "b", "c"};
String joined = StringUtils.join(s, ",");  // "a,b,c"

        

StringUtils.join(null)            = null
StringUtils.join([])              = ""
StringUtils.join([null])          = ""
StringUtils.join(["a", "b", "c"]) = "abc"
StringUtils.join([null, "", "a"]) = "a"

        

public class StringUtilsTrial {
  public static void main(String[] args) {

    // Join all Strings in the Array into a Single String, separated by $#$
    System.out.println("7) Join Strings using separator >>>"
        + StringUtils.join(new String[] { "AB", "CD", "EF" }, "$#$"));
  }
}

        

public class JoinTest {

	public static void main(String[] args) throws IOException {

		String[] strArray = { "string1", "string2", "string3" };
		System.out.println("Joining array of strings");
		System.out.println(StringUtils.join(strArray));
		System.out.println(StringUtils.join(strArray, " "));

		System.out.println("\nJoining list of strings");
		List<String> strList = Arrays.asList(strArray);
		System.out.println(StringUtils.join(strList, null));
		System.out.println(StringUtils.join(strList, " "));
	}
}

        

String[] strArray = { "How", "To", "Do", "In", "Java" };
 
String joinedString = StringUtils.join(strArray);
System.out.println(joinedString);
 
String joinedString2 = StringUtils.join(strArray, ", ");
System.out.println(joinedString2);

        

public void parseArgs(String[] args)
{
  jobName = null;
  parameters = null;
  commandLine = null;
  if (args != null && args.length > 0)
  {
    commandLine = StringUtils.join(args, " ");
    jobName = parseJobName(args[0]);
    parameters = parseParameters(args);
  }
  else
  {
    throw new CmdlineException("Syntax Error: Please specify some arguments");
  }
}

        

protected String convertQueryComponentToQueryFragment(QueryComponent queryComponent) {
    if (!queryComponent.isFieldedQuery()) {
        return queryComponent.getQuery();
    }

    String field = this.getEncodedFieldName(queryComponent.getField());
    if (field == null) {
        throw new SearchException("Unable to build query string - there is no field named '%s' on %s", queryComponent.getField(), type.getSimpleName());
    }
    String operation = IsSymbols.get(queryComponent.getIs());
    if (queryComponent.isCollectionQuery()) {
        List<String> values = convertValuesToString(field, queryComponent.getCollectionValue());
        String stringValue = StringUtils.join(values, " OR ");
        return String.format("%s:(%s)", field, stringValue);
    } else {
        String value = convertValueToString(field, queryComponent.getValue());
        return String.format("%s%s%s", field, operation, value);
    }
}

        

private static String renderParams(JoinPoint joinPoint, String[] params, String[] includeParamNames,
                                   String[] excludeParamNames, boolean inputCollectionAware) {

    Set<String> includeSet = prepareNameSet(includeParamNames);
    Set<String> excludeSet = prepareNameSet(excludeParamNames);
    List<String> requestList = new ArrayList<>();

    Map<String, Object> paramMap = joinPointToParamMap(joinPoint, params);

    if (!includeSet.isEmpty()) {
        includeSet
            .stream().filter(paramMap::containsKey)
            .forEach(key -> requestList.add(buildParam(key, paramMap.get(key), inputCollectionAware)));
    } else if (!excludeSet.isEmpty()) {
        paramMap.forEach((key, value) -> {
            if (!excludeSet.contains(key)) {
                requestList.add(buildParam(key, value, inputCollectionAware));
            }
        });
    } else {
        paramMap.forEach((key, value) -> requestList.add(buildParam(key, value, inputCollectionAware)));
    }

    return StringUtils.join(requestList, ',');
}

        

protected String buildQueryString(List<QueryComponent> queryComponents) {
    List<String> stringQueryComponents = new ArrayList<>();
    for (QueryComponent queryComponent : queryComponents) {
        String fragmentString = convertQueryComponentToQueryFragment(queryComponent);
        stringQueryComponents.add(fragmentString);
    }
    return StringUtils.join(stringQueryComponents, " ");
}

        

private String getCensoringEventsQuery(Criteria[] censoringCriteria)
{
  ArrayList<String> criteriaQueries = new ArrayList<>();
  for (Criteria c : censoringCriteria)    
  {
    String criteriaQuery = c.accept(this);
    criteriaQueries.add(StringUtils.replace(CENSORING_QUERY_TEMPLATE, "@criteriaQuery", criteriaQuery));
  }
  
  return StringUtils.join(criteriaQueries,"\nUNION ALL\n");
}        
main