logo

Strängsammansättning i Java

I Java bildar strängsammansättning en ny sträng som är kombinationen av flera strängar. Det finns två sätt att sammanfoga strängar i Java:

  1. Med operatorn + (strängsammansättning).
  2. Genom concat()-metoden

1) Strängsammansättning med operatorn + (Strängsammansättning).

Java String-sammansättningsoperator (+) används för att lägga till strängar. Till exempel:

TestStringConcatenation1.java

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

Produktion:

 Sachin Tendulkar 

De Java-kompilatoromvandlingar ovanstående kod till detta:

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

I Java implementeras strängsammansättning genom klassen StringBuilder (eller StringBuffer) och dess append-metod. Strängsammansättningsoperator skapar en ny sträng genom att lägga till den andra operanden i slutet av den första operanden. Strängsammansättningsoperatorn kan sammanfoga inte bara String utan också primitiva värden. Till exempel:

TestStringConcatenation2.java

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

Produktion:

 80Sachin4040 

Obs: Efter en bokstavlig sträng kommer alla + att behandlas som strängsammansättningsoperator.

2) Strängsammansättning med metoden concat().

Metoden String concat() sammanfogar den angivna strängen till slutet av den aktuella strängen. Syntax:

 public String concat(String another) 

Låt oss se exemplet med String concat()-metoden.

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 } } 
Testa det nu

Produktion:

 Sachin Tendulkar 

Ovanstående Java-program sammanfogar två String-objekt s1 och s2 använder sig av concat() metod och lagrar resultatet i s3 objekt.

Det finns några andra möjliga sätt att sammanfoga strängar i Java,

1. Strängsammansättning med StringBuilder-klassen

StringBuilder är klass tillhandahåller metoden append() för att utföra sammanlänkningsoperation. Metoden append() accepterar argument av olika typer som Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder är det mest populära och snabbaste sättet att sammanfoga strängar i Java. Det är föränderlig klass vilket innebär att värden lagrade i StringBuilder-objekt kan uppdateras eller ändras.

StrBuilder.java

java medan skick
 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 } } 

Produktion:

 Hello World 

I kodavsnittet ovan, s1, s2 och s deklareras som föremål för StringBuilder klass. s lagrar resultatet av sammanlänkning av s1 och s2 använder sig av bifoga () metod.

2. Strängsammansättning med metoden format().

Metoden String.format() gör det möjligt att sammanfoga flera strängar med hjälp av formatspecificerare som %s följt av strängvärdena eller objekten.

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

Produktion:

 Hello World 

Här invänder String s tilldelas det sammanlänkade resultatet av Strings s1 och s2 använder sig av String.format() metod. format() accepterar parametrar som formatspecifikation följt av strängobjekt eller värden.

3. Strängsammansättning med metoden String.join() (Java version 8+)

Metoden String.join() är tillgänglig i Java version 8 och alla ovanstående versioner. Metoden String.join() accepterar argument först en separator och en array av String-objekt.

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

Produktion:

10 ml till uns
 Hello World 

I kodavsnittet ovan, objektet String s lagrar resultatet av String.join('',s1,s2) metod. En avgränsare anges inom citattecken följt av strängobjekten eller arrayen av strängobjekt.

4. Strängsammansättning med StringJoiner-klassen (Java version 8+)

StringJoiner-klassen har alla funktioner i String.join()-metoden. I förväg kan dess konstruktor också acceptera valfria argument, prefix och suffix.

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

Produktion:

 Hello, World 

I ovanstående kodavsnitt, StringJoiner-objektet s deklareras och konstruktorn StringJoiner() accepterar ett separatorvärde. En avgränsare anges inom citattecken. Metoden add() lägger till strängar som skickas som argument.

5. Strängsammansättning med metoden Collectors.joining() (Java (Java version 8+)

Collectors-klassen i Java 8 erbjuder joining()-metoden som sammanfogar indataelementen i samma ordning som de inträffar.

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

Produktion:

 abc, pqr, xyz 

Här deklareras en lista över String-arrayer. Och ett String-objekt str lagrar resultatet av Collectors.joining() metod.