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:
- + (karakterlánc-összefűzés) operátorral
- 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.