src/main/java/com/zandero/utils/StringUtils.java
public static <T, V> String join(Map<T, V> map, String separator) {

		if (separator == null || separator.equalsIgnoreCase("")) {
			throw new IllegalArgumentException("Missing separator!");
		}

		StringBuilder output = new StringBuilder();
		if (map != null) {
			for (Object key : map.keySet()) {
				if (output.length() > 0) {
					output.append(separator);
				}

				output.append(key).append("=").append(map.get(key));
			}
		}

		return output.toString();
	}
public static <T, V> String join(Map<T, V> map, String separator) {

		if (separator == null || separator.equalsIgnoreCase("")) {
			throw new IllegalArgumentException("Missing separator!");
		}

		StringBuilder output = new StringBuilder();
		if (map != null) {
			for (Object key : map.keySet()) {
				if (output.length() > 0) {
					output.append(separator);
				}

				output.append(key).append("=").append(map.get(key));
			}
		}

		return output.toString();
	}
public static < T , V > String join ( Map < T , V > map , String separator ) { if ( separator == null || separator . equalsIgnoreCase ( "" ) ) { throw new IllegalArgumentException ( "Missing separator!" ) ; } StringBuilder output = new StringBuilder ( ) ; if ( map != null ) { for ( Object key : map . keySet ( ) ) { if ( output . length ( ) > 0 ) { output . append ( separator ) ; } output . append ( key ) . append ( "=" ) . append ( map . get ( key ) ) ; } } return output . toString ( ) ; }
Joins list of string items to a single string, where items are separated
with a defined separator.

@param map       to join into key=value list
@param separator to be used between elements
@param <T> key class type
@param <V> value class type
@return map key values joined into a single string
Joins list of string items to a single string where items are separated with a defined separator .