logo

Spájanie reťazcov v jazyku Java

V jazyku Java vytvára zreťazenie reťazcov nový reťazec, ktorý je kombináciou viacerých reťazcov. V jazyku Java existujú dva spôsoby zreťazenia reťazcov:

  1. Pomocou operátora + (reťazec).
  2. Metódou concat().

1) Reťazec zreťazenia operátorom + (reťazec zreťazenia).

Operátor zreťazenia reťazcov Java (+) sa používa na pridávanie reťazcov. Napríklad:

TestStringConcatenation1.java

 class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } } 
Vyskúšajte to

Výkon:

 Sachin Tendulkar 

The Transformuje kompilátor Java vyššie uvedený kód k tomuto:

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

V jazyku Java je zreťazenie reťazcov implementované prostredníctvom triedy StringBuilder (alebo StringBuffer) a je to metóda pripojenia. Operátor zreťazenia reťazcov vytvorí nový reťazec pripojením druhého operandu na koniec prvého operandu. Operátor zreťazenia reťazca môže zreťaziť nielen reťazec, ale aj primitívne hodnoty. Napríklad:

TestStringConcatenation2.java

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

Výkon:

herec ranbir kapoor vek
 80Sachin4040 

Poznámka: Po reťazcovom literáli sa všetky + budú považovať za operátor zreťazenia reťazcov.

2) Spájanie reťazcov metódou concat().

Metóda String concat() zreťazí zadaný reťazec na koniec aktuálneho reťazca. Syntax:

 public String concat(String another) 

Pozrime sa na príklad metódy String concat().

css zalomenie textu

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 } } 
Vyskúšajte to

Výkon:

 Sachin Tendulkar 

Vyššie uvedený program Java spája dva objekty typu String s1 a s2 použitím concat() a výsledok uloží do s3 objekt.

Existuje niekoľko ďalších možných spôsobov, ako zreťaziť reťazce v jazyku Java,

1. Reťazenie reťazcov pomocou triedy StringBuilder

StringBuilder je trieda, ktorá poskytuje metódu append() na vykonanie operácie zreťazenia. Metóda append() akceptuje argumenty rôznych typov ako Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder je najobľúbenejší a najrýchlejší spôsob spájania reťazcov v jazyku Java. Je to meniteľná trieda, čo znamená, že hodnoty uložené v objektoch StringBuilder je možné aktualizovať alebo zmeniť.

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 } } 

Výkon:

binárny strom
 Hello World 

Vo vyššie uvedenom útržku kódu s1, s2 a s sú deklarované ako objekty StringBuilder trieda. s ukladá výsledok zreťazenia s1 a s2 použitím priložiť () metóda.

2. Reťazenie reťazcov pomocou metódy format().

Metóda String.format() umožňuje zreťaziť viacero reťazcov pomocou špecifikátora formátu ako %s, za ktorým nasledujú hodnoty reťazca alebo objekty.

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 } } 

Výkon:

 Hello World 

Tu sú objekty String s je priradený zreťazený výsledok Strings s1 a s2 použitím String.format() metóda. format() akceptuje parametre ako špecifikátor formátu, za ktorým nasledujú objekty alebo hodnoty typu String.

3. Reťazenie reťazcov pomocou metódy String.join() (Java verzia 8+)

Metóda String.join() je dostupná v jazyku Java verzie 8 a všetkých vyššie uvedených verziách. Metóda String.join() akceptuje najskôr argumenty, oddeľovač a pole objektov 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 } } 

Výkon:

spätné volanie do pekla v javascripte
 Hello World 

Vo vyššie uvedenom útržku kódu je to objekt String s ukladá výsledok String.join('',s1,s2) metóda. V úvodzovkách je zadaný oddeľovač, za ktorým nasledujú objekty String alebo pole objektov String.

4. Reťazenie reťazcov pomocou triedy StringJoiner (Java verzia 8+)

Trieda StringJoiner má všetky funkcie metódy String.join(). Jeho konštruktor môže vopred akceptovať aj voliteľné argumenty, predponu a príponu.

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 } } 

Výkon:

 Hello, World 

Vo vyššie uvedenom útržku kódu je to objekt StringJoiner s je deklarovaný a konštruktor StringJoiner() akceptuje hodnotu oddeľovača. V úvodzovkách je zadaný oddeľovač. Metóda add() pripája reťazce odovzdané ako argumenty.

5. Reťazenie reťazcov pomocou metódy Collectors.joining() (Java (Java verzia 8+)

Trieda Collectors v jazyku Java 8 ponúka metódu joining(), ktorá spája vstupné prvky v podobnom poradí, v akom sa vyskytujú.

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 } } 

Výkon:

 abc, pqr, xyz 

Tu je deklarovaný zoznam poľa String. A objekt String str ukladá výsledok Collectors.joining() metóda.