2 Kasım 2020 Pazartesi

String Concatenation

Giriş
1. Addition Operator
Java 8 de dahil olmak üzere String'e özel olan operator (+) altta StringBuilder.append() metodunu kullandı. Açıklaması şöyle
Up to Java 8, the Java compiler recognizes any String concatenations in the source code, and translates them into chains of StringBuilder::append.

In Java 9, each String concatenation is translated into a call to invokedynamic, as described in JDK Enhancement Proposal 280.

There are several String concatenation strategies available in Java 9, with each one of them employing a different technique to compute the size of the resulting/concatenated String. One of the strategies that stands out for its performance is MH_INLINE_SIZED_EXACT, which takes advantage of private Java APIs in order to perform the String concatenation.
2. String'in Kendi Metodları

2.1 concat metodu
Örnek
Şöyle yaparız
String myString = "Both".concat(" fickle")
  .concat(" dwarves")
  .concat(" jinx")
  .concat(" my")
  .concat(" pig")
  .concat(" quiz");

assertEquals("Both fickle dwarves jinx my pig quiz", myString);
2.2 format metodu
String.format metodu yazısına taşıdım

2.3 join metodu
İlk parametre ayraçtır. Stringleri birleştirir. Son son string'den sonra ayracı eklemez. Açıklaması şöyle. Yani CSV tarzı şeyleri oluşturmak için ideal :)
The join method offers the convenience of not adding the delimiter at the end of the string as well.
Örnek
Şöyle yaparız.
String.join(delimeter, foo, bar, baz, foo1, bar1);
3. StringJoiner (Java 8+)
StringJoiner yazısına taşıdım

4. Arrays.toString
İçindeki tüm nesnelerin toString() metodunu çağırır virgül karakteri ile ayırır ve [...] köşeli parantezleri içinde alarak çıktı verir. Çıktı olarak şuna benzer bir çıktı alırız. "[Java, JavaScript, Python]"

5. Collectors.joining (Java 8+)
Altta StringJoiner sınıfını kullanır. Yani StringJoiner sınıfının stream ile kolayca kullanılabilmesini sağlar.

Hiç yorum yok:

Yorum Gönder