logo

Łączenie ciągów w Javie

W Javie łączenie ciągów tworzy nowy ciąg, będący kombinacją wielu ciągów. Istnieją dwa sposoby łączenia ciągów w Javie:

  1. Przez operator + (łączenie ciągów).
  2. Metodą concat().

1) Łączenie ciągów za pomocą operatora + (łączenie ciągów).

Operator łączenia ciągów Java (+) służy do dodawania ciągów. Na przykład:

TestStringConcatenation1.java

 class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } } 
Przetestuj teraz

Wyjście:

 Sachin Tendulkar 

The Kompilator Java przekształca się powyższy kod do tego:

 String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString(); 

W Javie łączenie ciągów jest implementowane poprzez klasę StringBuilder (lub StringBuffer) i jej metodę dołączania. Operator łączenia ciągów tworzy nowy ciąg poprzez dodanie drugiego operandu na końcu pierwszego operandu. Operator łączenia ciągów może łączyć nie tylko ciągi, ale także wartości pierwotne. Na przykład:

TestStringConcatenation2.java

 class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } } 
Przetestuj teraz

Wyjście:

redukcja Pythona
 80Sachin4040 

Uwaga: po literale łańcuchowym wszystkie znaki + będą traktowane jako operator łączenia ciągów.

2) Łączenie ciągów metodą concat().

Metoda String concat() łączy określony ciąg znaków z końcem bieżącego ciągu. Składnia:

 public String concat(String another) 

Zobaczmy przykład metody String concat().

zmienna globalna js

TestStringConcatenation3.java

 class TestStringConcatenation3{ public static void main(String args[]){ String s1='Sachin '; String s2='Tendulkar'; String s3=s1.concat(s2); System.out.println(s3);//Sachin Tendulkar } } 
Przetestuj teraz

Wyjście:

 Sachin Tendulkar 

Powyższy program Java łączy dwa obiekty String s1 I s2 za pomocą połączyć() metodę i zapisuje wynik w s3 obiekt.

Istnieje kilka innych możliwych sposobów łączenia ciągów w Javie,

1. Konkatenacja stringów przy pomocy klasy StringBuilder

StringBuilder to klasa udostępnia metodę append() do wykonywania operacji łączenia. Metoda append() akceptuje argumenty różnych typów, takie jak Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder to najpopularniejszy i najszybszy sposób łączenia ciągów znaków w Javie. Jest to klasa zmienna, co oznacza, że ​​wartości przechowywane w obiektach StringBuilder można aktualizować lub zmieniać.

StrBuilder.java

 public class StrBuilder { /* Driver Code */ public static void main(String args[]) { StringBuilder s1 = new StringBuilder('Hello'); //String 1 StringBuilder s2 = new StringBuilder(' World'); //String 2 StringBuilder s = s1.append(s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Wyjście:

pełna forma ssh
 Hello World 

W powyższym fragmencie kodu s1, s2 I S są deklarowane jako obiekty Konstruktor ciągów klasa. S przechowuje wynik konkatenacji s1 I s2 za pomocą dodać () metoda.

2. Konkatenacja stringów metodą format().

Metoda String.format() umożliwia łączenie wielu ciągów znaków przy użyciu specyfikatora formatu, takiego jak %s, po którym następują wartości ciągu lub obiekty.

StrFormat.java

 public class StrFormat { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.format('%s%s',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Wyjście:

 Hello World 

Tutaj obiekty String S przypisany jest połączony wynik Strings s1 I s2 za pomocą String.format() metoda. format() akceptuje parametry jako specyfikator formatu, po którym następują obiekty typu String lub wartości.

3. Łączenie ciągów metodą String.join() (Java wersja 8+)

Metoda String.join() jest dostępna w Javie w wersji 8 i we wszystkich powyższych wersjach. Metoda String.join() przyjmuje jako argumenty najpierw separator i tablicę obiektów typu String.

StrJoin.java:

 public class StrJoin { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.join('',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Wyjście:

bool do napisania Java
 Hello World 

W powyższym fragmencie kodu obiekt String S przechowuje wynik String.join('',s1,s2) metoda. Separator jest określony w cudzysłowie, po którym następują obiekty String lub tablica obiektów String.

4. Konkatenacja ciągów przy użyciu klasy StringJoiner (Java wersja 8+)

Klasa StringJoiner posiada wszystkie funkcjonalności metody String.join(). Z góry jego konstruktor może również akceptować opcjonalne argumenty, przedrostki i przyrostki.

StrJoiner.java

 public class StrJoiner { /* Driver Code */ public static void main(String args[]) { StringJoiner s = new StringJoiner(', '); //StringeJoiner object s.add('Hello'); //String 1 s.add('World'); //String 2 System.out.println(s.toString()); //Displays result } } 

Wyjście:

 Hello, World 

W powyższym fragmencie kodu obiekt StringJoiner S jest zadeklarowana, a konstruktor StringJoiner() akceptuje wartość separatora. Separator jest podany w cudzysłowie. Metoda add() dołącza ciągi znaków przekazane jako argumenty.

5. Konkatenacja stringów metodą Collectors.joining() (Java (Java wersja 8+)

Klasa Collectors w Javie 8 oferuje metodę łączenia(), która łączy elementy wejściowe w podobnej kolejności, w jakiej występują.

ColJoining.java

 import java.util.*; import java.util.stream.Collectors; public class ColJoining { /* Driver Code */ public static void main(String args[]) { List liststr = Arrays.asList('abc', 'pqr', 'xyz'); //List of String array String str = liststr.stream().collect(Collectors.joining(', ')); //performs joining operation System.out.println(str.toString()); //Displays result } } 

Wyjście:

 abc, pqr, xyz 

Tutaj deklarowana jest lista tablicy String. I obiekt String ul przechowuje wynik Kolekcjonerzy.łączenie() metoda.