A Java, la concatenació de cadenes forma una nova cadena que és la combinació de diverses cadenes. Hi ha dues maneres de concatenar cadenes a Java:
- Per operador + (concatenació de cadenes).
- Mitjançant el mètode concat().
1) Concatenació de cadenes mitjançant l'operador + (concatenació de cadenes).
L'operador de concatenació de cadenes de Java (+) s'utilitza per afegir cadenes. Per exemple:
TestStringConcatenation1.java
class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } }Prova-ho ara
Sortida:
patró de disseny del constructor
Sachin Tendulkar
El Transformes del compilador Java codi anterior a això:
String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString();
A Java, la concatenació de cadenes s'implementa mitjançant la classe StringBuilder (o StringBuffer) i el seu mètode adjunt. L'operador de concatenació de cadenes produeix una nova cadena afegint el segon operand al final del primer operand. L'operador de concatenació String pot concatenar no només String, sinó també valors primitius. Per exemple:
TestStringConcatenation2.java
class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } }Prova-ho ara
Sortida:
80Sachin4040
Nota: Després d'un literal de cadena, tots els + es tractaran com a operador de concatenació de cadena.
2) Concatenació de cadenes pel mètode concat().
El mètode String concat() concatena la cadena especificada al final de la cadena actual. Sintaxi:
public String concat(String another)
Vegem l'exemple del mètode String concat().
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 } }Prova-ho ara
Sortida:
Sachin Tendulkar
El programa Java anterior concatena dos objectes String s1 i s2 utilitzant concat() mètode i emmagatzema el resultat en s3 objecte.
Hi ha algunes altres maneres possibles de concatenar cadenes a Java,
1. Concatenació de cadenes mitjançant la classe StringBuilder
StringBuilder és una classe que proporciona el mètode append() per realitzar operacions de concatenació. El mètode append() accepta arguments de diferents tipus com Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder és la forma més popular i ràpida de concatenar cadenes a Java. És una classe mutable, el que significa que els valors emmagatzemats als objectes StringBuilder es poden actualitzar o canviar.
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 } }
Sortida:
Hello World
Al fragment de codi anterior, s1, s2 i s es declaren objecte de StringBuilder classe. s emmagatzema el resultat de la concatenació de s1 i s2 utilitzant adjuntar () mètode.
2. Concatenació de cadenes mitjançant el mètode format().
El mètode String.format() permet concatenar diverses cadenes utilitzant un especificador de format com %s seguit dels valors o objectes de la cadena.
has next java
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 } }
Sortida:
Hello World
Aquí, els objectes String s s'assigna el resultat concatenat de Strings s1 i s2 utilitzant String.format() mètode. format() accepta paràmetres com a especificador de format seguit d'objectes o valors de cadena.
3. Concatenació de cadenes mitjançant el mètode String.join() (versió de Java 8+)
El mètode String.join() està disponible a la versió 8 de Java i a totes les versions anteriors. El mètode String.join() accepta arguments primer un separador i una matriu d'objectes 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 } }
Sortida:
Hello World
Al fragment de codi anterior, l'objecte String s emmagatzema el resultat de String.join('',s1,s2) mètode. S'especifica un separador entre cometes seguits dels objectes String o matriu d'objectes String.
4. Concatenació de cadenes mitjançant la classe StringJoiner (versió de Java 8+)
La classe StringJoiner té totes les funcionalitats del mètode String.join(). Per endavant, el seu constructor també pot acceptar arguments opcionals, prefix i sufix.
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 } }
Sortida:
Hello, World
Al fragment de codi anterior, l'objecte StringJoiner s es declara i el constructor StringJoiner() accepta un valor separador. S'especifica un separador entre cometes. El mètode add() afegeix cadenes passats com a arguments.
5. Concatenació de cadenes mitjançant el mètode Collectors.joining() (Java (Java versió 8+)
La classe Collectors de Java 8 ofereix un mètode joining() que concatena els elements d'entrada en un ordre similar a com es produeixen.
ColJoining.java
classe de matemàtiques 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 } }
Sortida:
abc, pqr, xyz
Aquí, es declara una llista de matrius String. I un objecte String str emmagatzema el resultat de Collectors.joining() mètode.