Write a function that takes an iterable and a delimeter as input and get the string representation of iterbale.
Signature
public static <T> String toString(final Iterable<T> iterable, final String delimiter, final boolean skipNull)
Find the below working application.
IterableToString.java
package com.sample.app.collections;
import java.util.Arrays;
import java.util.List;
import java.util.StringJoiner;
public class IterableToString {
/**
*
* @param <T>
* @param delimiter use comma (,), if it is null
* @param iterable
* @param skipNull, skip null values, it it is set to true, else add the string
* "null" for null values.
*
* @return a string representation of the given iterable. Elements in the
* iterable are separated by given delimeter.
*/
public static <T> String toString(final Iterable<T> iterable, final String delimiter, final boolean skipNull) {
if (iterable == null) {
return "";
}
String delimeterToUse = delimiter;
if (delimiter == null) {
delimeterToUse = ",";
}
final StringJoiner stringJoiner = new StringJoiner(delimeterToUse);
for (T ele : iterable) {
if (skipNull == true && ele == null) {
continue;
}
if (ele == null) {
stringJoiner.add("null");
} else {
stringJoiner.add(ele.toString());
}
}
return stringJoiner.toString();
}
public static void main(String[] args) {
List<Object> list = Arrays.asList(1, "krishna", null, 34, "Bangalore", true);
String str1 = toString(list, "->", false);
String str2 = toString(list, "->", true);
System.out.println(str1);
System.out.println(str2);
}
}
Output
1->krishna->null->34->Bangalore->true 1->krishna->34->Bangalore->true
You may like
Convert an iterator to set in Java
Convert an enumeration to set in Java
No comments:
Post a Comment