Java:
Łączenie łańcuchów znaków
How to? (Jak to zrobić?)
Łączenie stringów w Javie to pestka. Możesz użyć operatora plus (+), metody concat()
lub klasy StringBuilder
. Oto przykłady:
// Operator +
String greeting = "Cześć, " + "jak się masz?";
System.out.println(greeting); // Wyświetli: Cześć, jak się masz?
// Metoda concat()
String hello = "Hej ".concat("świecie!");
System.out.println(hello); // Wyświetli: Hej świecie!
// StringBuilder
StringBuilder builder = new StringBuilder();
builder.append("To ").append("jest ").append("proste.");
String message = builder.toString();
System.out.println(message); // Wyświetli: To jest proste.
Deep Dive (Głębsze spojrzenie)
Historia łączenia stringów sięga początków programowania. W Javie, każdy string jest obiektem klasy String
, która jest niemutowalna. To oznacza, że każde łączenie tworzy nowy obiekt, co może być problematyczne dla wydajności.
Alternatywy jak StringBuilder
(dla operacji w obrębie jednego wątku) i StringBuffer
(dla operacji wielowątkowych) są bardziej efektywne. Wprowadzono je, by zapewnić wydajność przy częstym dodawaniu stringów.
Kiedy używasz +
do łączenia stringów, kompilator w tle zamienia to na StringBuilder.append()
. Więc dla prostych operacji może to być ok, ale przy mnóstwie łączeń w pętli lepiej użyc StringBuilder
bezpośrednio.