Giriş
Açıklaması şöyle. Bu sınıf yerine Collectors.joining kullanılabilir
StringJoiner is used to construct a sequence of characters separated by a delimiter and optionally starting with a supplied prefix and ending with a supplied suffix.
Temel olarak bu sınıfın sadece add() metodunu arka arkaya çağırıp, işimiz bitince toString() metodunu çağırıyoruz. add() metodunu arka arkaya çağırmak yerine Collectors.joining() metodunu kullanmak daha kolay olabilir. Collectors.joining() altta StringJoiner sınıfını kullanır ve bu sınıfın verdiği aynı metodları sağlar. Böylece döngüler kurmak yerine stream ile daha kolay çalışabiliriz.
constructor - delimeter
Şöyle yaparız.
İmzası şöyle.
Şöyle yaparız. Çıktı olarak "Bill and Bob and Steve" alırız
Şöyle yaparız. Çıktı olarak örneğin "[Bill and Bob and Steve]" alırız
String str = new StringJoiner(",").add("a").add("b").add("c").toString();
constructor - delimeter + prefix + suffixİmzası şöyle.
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
Örnek
Şöyle yaparız
List<Integer> ints = Arrays.asList(123, 456, 789);
StringJoiner mystring = new StringJoiner("),(", "(", ")");
ints.forEach(i -> mystring.add(String.valueOf(i)));
System.out.println( mystring );
Çıktı olarak şunu alırız
(123), (456), (789)
Örnek
StringJoiner sj = new StringJoiner(" and ", "" , "");
String[] names = {"Bill", "Bob", "Steve"};
for (String name : names) {
sj.add(name);
}
System.out.println(sj);
add metoduŞöyle yaparız. Çıktı olarak örneğin "[Bill and Bob and Steve]" alırız
private String getCookieString(Cookie[] cookies){
if(cookies == null)
return "null";
StringJoiner stringJoiner = new StringJoiner(",","[","]");
for (Cookie cookie : cookies) {
stringJoiner.add(ReflectionToStringBuilder.toString(cookie));
}
return stringJoiner.toString();
}
Hiç yorum yok:
Yorum Gönder