logo

Karakterlánc összefűzése Java nyelven

A Java nyelven a String összefűzése egy új karakterláncot képez, amely több karakterlánc kombinációja. Kétféleképpen lehet a karakterláncokat összefűzni Java nyelven:

  1. + (karakterlánc-összefűzés) operátorral
  2. concat() metódussal

1) Karakterlánc összefűzése + (String összefűzés) operátorral

A Java String összefűzési operátor (+) karakterláncok hozzáadására szolgál. Például:

TestStringConcatenation1.java

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

Kimenet:

 Sachin Tendulkar 

A Java fordító átalakítja a fenti kód ehhez:

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

A Java-ban a String összefűzés a StringBuilder (vagy StringBuffer) osztályon és az append metódusán keresztül valósul meg. A karakterlánc-összefűzési operátor egy új karakterláncot állít elő a második operandusnak az első operandus végéhez történő hozzáfűzésével. A String összefűzési operátor nem csak Stringet, hanem primitív értékeket is képes összefűzni. Például:

TestStringConcatenation2.java

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

Kimenet:

 80Sachin4040 

Megjegyzés: A karakterlánc-literál után az összes + karakterlánc-összefűzési operátorként lesz kezelve.

2) String összefűzés concat() metódussal

A String concat() metódus összefűzi a megadott karakterláncot az aktuális karakterlánc végére. Szintaxis:

 public String concat(String another) 

Nézzük a String concat() metódus példáját.

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

Kimenet:

 Sachin Tendulkar 

A fenti Java program két String objektumot fűz össze s1 és s2 segítségével concat() módszert, és eltárolja az eredményt s3 tárgy.

Van néhány más mód is a karakterláncok összefűzésére Java nyelven,

1. Karakterlánc-összefűzés a StringBuilder osztály segítségével

A StringBuilder osztály az append() metódust biztosítja az összefűzési művelet végrehajtásához. Az append() metódus különböző típusú argumentumokat fogad el, mint például Objects, StringBuilder, int, char, CharSequence, logikai érték, float, double. A StringBuilder a legnépszerűbb és leggyorsabb módja a karakterláncok összefűzésének Java nyelven. Ez egy változó osztály, ami azt jelenti, hogy a StringBuilder objektumokban tárolt értékek frissíthetők vagy módosíthatók.

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

Kimenet:

 Hello World 

A fenti kódrészletben s1, s2 és s tárgyaiként vannak deklarálva StringBuilder osztály. s összefűzésének eredményét tárolja s1 és s2 segítségével mellékel () módszer.

2. Karakterlánc-összefűzés format() metódussal

A String.format() metódus lehetővé teszi több karakterlánc összefűzését olyan formátum-specifikátorok használatával, mint a %s, majd a karakterlánc-értékek vagy objektumok.

StrFormat.java

react inline stílusban
 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 } } 

Kimenet:

 Hello World 

Itt a String objektumok s hozzá van rendelve a Strings összefűzött eredményéhez s1 és s2 segítségével String.format() módszer. A format() paramétereket fogad el formátum-meghatározóként, majd a String objektumokat vagy értékeket.

3. Karakterlánc-összefűzés a String.join() metódussal (Java 8+ verzió)

A String.join() metódus elérhető a Java 8-as verziójában és az összes fenti verzióban. A String.join() metódus először argumentumokat, elválasztót és String objektumok tömbjét fogadja el.

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

Kimenet:

 Hello World 

A fenti kódrészletben a String objektum s eredményét tárolja String.join('',s1,s2) módszer. Az elválasztó az idézőjelek között van megadva, amelyet a String objektumok vagy a String objektumok tömbje követ.

4. Karakterlánc-összefűzés a StringJoiner osztály használatával (Java 8+ verzió)

A StringJoiner osztály rendelkezik a String.join() metódus összes funkciójával. Előzetesen a konstruktora opcionális argumentumokat, elő- és utótagokat is elfogadhat.

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

Kimenet:

 Hello, World 

A fenti kódrészletben a StringJoiner objektum s deklarálva van, és a StringJoiner() konstruktor elfogad egy elválasztó értéket. Az elválasztót idézőjelek között adjuk meg. Az add() metódus hozzáfűzi az argumentumként átadott karakterláncokat.

5. Karakterlánc-összefűzés Collectors.joining() metódussal (Java (Java 8+ verzió)

A Java 8 Collectors osztálya olyan joining() metódust kínál, amely a bemeneti elemeket hasonló sorrendben fűzi össze, ahogy előfordulnak.

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

Kimenet:

 abc, pqr, xyz 

Itt a String tömb listája van deklarálva. És egy String objektum str eredményét tárolja Collectors.joining() módszer.