logo

Tekenreeksconcatenatie in Java

In Java vormt String-aaneenschakeling een nieuwe String die de combinatie is van meerdere strings. Er zijn twee manieren om tekenreeksen in Java samen te voegen:

  1. Door + (tekenreeksaaneenschakeling) operator
  2. Via concat() methode

1) Tekenreeksaaneenschakeling door + (String-aaneenschakeling) operator

Java String-samenvoegingsoperator (+) wordt gebruikt om tekenreeksen toe te voegen. Bijvoorbeeld:

TestStringConcatenation1.java

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

Uitgang:

 Sachin Tendulkar 

De Transformeert de Java-compiler bovenstaande code hierop:

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

In Java wordt String-samenvoeging geïmplementeerd via de klasse StringBuilder (of StringBuffer) en de append-methode. De string-aaneenschakelingsoperator produceert een nieuwe string door de tweede operand aan het einde van de eerste operand toe te voegen. De string-aaneenschakelingsoperator kan niet alleen String, maar ook primitieve waarden aaneenschakelen. Bijvoorbeeld:

TestStringConcatenation2.java

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

Uitgang:

 80Sachin4040 

Opmerking: na een letterlijke tekenreeks worden alle + behandeld als tekenreeksaaneenschakelingsoperator.

2) Tekenreeksaaneenschakeling met de concat()-methode

De methode String concat() voegt de opgegeven tekenreeks samen aan het einde van de huidige tekenreeks. Syntaxis:

 public String concat(String another) 

Laten we het voorbeeld van de String concat()-methode bekijken.

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 } } 
Test het nu

Uitgang:

 Sachin Tendulkar 

Het bovenstaande Java-programma voegt twee String-objecten samen s1 En s2 gebruik makend van concat() methode en slaat het resultaat op s3 voorwerp.

bash als voorwaarde

Er zijn enkele andere mogelijke manieren om tekenreeksen in Java samen te voegen,

1. Tekenreeksaaneenschakeling met behulp van de StringBuilder-klasse

StringBuilder is een klasse die de append()-methode biedt om aaneenschakelingsbewerkingen uit te voeren. De methode append() accepteert argumenten van verschillende typen, zoals Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder is de populairste en snelste manier om strings in Java samen te voegen. Het is een veranderlijke klasse, wat betekent dat waarden die zijn opgeslagen in StringBuilder-objecten kunnen worden bijgewerkt of gewijzigd.

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

Uitgang:

 Hello World 

In het bovenstaande codefragment, s1, s2 En S worden verklaard als voorwerp van StringBuilder klas. S slaat het resultaat op van de aaneenschakeling van s1 En s2 gebruik makend van toevoegen () methode.

2. Tekenreeksaaneenschakeling met behulp van de format()-methode

De methode String.format() maakt het mogelijk om meerdere tekenreeksen samen te voegen met behulp van een formaatspecificatie zoals %s, gevolgd door de tekenreekswaarden of objecten.

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

Uitgang:

 Hello World 

Hier de String-objecten S krijgt het samengevoegde resultaat van Strings toegewezen s1 En s2 gebruik makend van Tekenreeks.format() methode. format() accepteert parameters als formaatspecificatie gevolgd door String-objecten of -waarden.

3. Tekenreeksaaneenschakeling met behulp van de String.join()-methode (Java versie 8+)

De methode String.join() is beschikbaar in Java versie 8 en alle bovenstaande versies. De methode String.join() accepteert eerst argumenten, een scheidingsteken en een array van String-objecten.

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

Uitgang:

 Hello World 

In het bovenstaande codefragment is het String-object S slaat het resultaat op van String.join('',s1,s2) methode. Er wordt een scheidingsteken opgegeven tussen aanhalingstekens, gevolgd door de String-objecten of een reeks String-objecten.

4. String-aaneenschakeling met behulp van de klasse StringJoiner (Java versie 8+)

De klasse StringJoiner heeft alle functionaliteiten van de methode String.join(). Van tevoren kan de constructor ook optionele argumenten, voor- en achtervoegsels accepteren.

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

Uitgang:

 Hello, World 

In het bovenstaande codefragment het StringJoiner-object S wordt gedeclareerd en de constructor StringJoiner() accepteert een scheidingswaarde. Er wordt een scheidingsteken tussen aanhalingstekens opgegeven. De methode add() voegt tekenreeksen toe die als argumenten zijn doorgegeven.

5. Tekenreeksaaneenschakeling met behulp van de Collectors.joining()-methode (Java (Java versie 8+)

De klasse Collectors in Java 8 biedt de methode join() waarmee de invoerelementen in dezelfde volgorde worden samengevoegd als waarin ze voorkomen.

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

Uitgang:

str naar int
 abc, pqr, xyz 

Hier wordt een lijst met String-arrays gedeclareerd. En een String-object str slaat het resultaat op van Verzamelaars.joining() methode.