Javassa merkkijonojen yhdistäminen muodostaa uuden merkkijonon, joka on useiden merkkijonojen yhdistelmä. Javalla on kaksi tapaa ketjuttaa merkkijonoja:
- + (merkkijonojen ketjutus) -operaattorilla
- concat()-menetelmällä
1) Merkkijonojen yhdistäminen + (merkkijonojen ketjutus) -operaattorilla
Java-merkkijonojen ketjutusoperaattoria (+) käytetään merkkijonojen lisäämiseen. Esimerkiksi:
TestStringConcatenation1.java
class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } }Testaa nyt
Lähtö:
Sachin Tendulkar
The Java-kääntäjä muuntaa yllä oleva koodi tähän:
String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString();
Javassa String-ketjutus toteutetaan StringBuilder- (tai StringBuffer)-luokan ja sen append-menetelmän kautta. Merkkijonojen ketjutusoperaattori tuottaa uuden merkkijonon liittämällä toisen operandin ensimmäisen operandin loppuun. String-ketjutusoperaattori voi ketjuttaa merkkijonon lisäksi myös primitiiviset arvot. Esimerkiksi:
TestStringConcatenation2.java
class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } }Testaa nyt
Lähtö:
staattinen vuonna c
80Sachin4040
Huomautus: Merkkijonoliteraalin jälkeen kaikkia +-merkkejä käsitellään merkkijonojen ketjutusoperaattorina.
2) Merkkijonojen ketjuttaminen concat()-metodilla
String concat() -metodi ketjuttaa määritetyn merkkijonon nykyisen merkkijonon loppuun. Syntaksi:
public String concat(String another)
Katsotaanpa esimerkkiä String concat() -metodista.
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 } }Testaa nyt
Lähtö:
Sachin Tendulkar
Yllä oleva Java-ohjelma ketjuttaa kaksi merkkijono-oliota s1 ja s2 käyttämällä concat() menetelmällä ja tallentaa tuloksen s3 esine.
On joitain muita mahdollisia tapoja ketjuttaa merkkijonoja Javassa,
1. Merkkijonojen yhdistäminen StringBuilder-luokassa
StringBuilder on luokka, joka tarjoaa append()-menetelmän ketjutusoperaation suorittamiseen. Append()-metodi hyväksyy erityyppisiä argumentteja, kuten Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder on suosituin ja nopein tapa ketjuttaa merkkijonoja Javassa. Se on muuttuva luokka, mikä tarkoittaa, että StringBuilder-objekteihin tallennettuja arvoja voidaan päivittää tai muuttaa.
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 } }
Lähtö:
Hello World
Yllä olevassa koodinpätkässä s1, s2 ja s on ilmoitettu kohteiksi StringBuilder luokkaa. s tallentaa ketjutuksen tuloksen s1 ja s2 käyttämällä liittää () menetelmä.
2. Merkkijonojen yhdistäminen format()-menetelmällä
String.format() -menetelmä mahdollistaa useiden merkkijonojen yhdistämisen käyttämällä muotomääritteitä, kuten %s, jota seuraa merkkijonoarvot tai objektit.
StrFormat.java
jpa keväällä
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 } }
Lähtö:
Hello World
Tässä String-objektit s määritetään merkkijonojen ketjutettu tulos s1 ja s2 käyttämällä String.format() menetelmä. format() hyväksyy parametrit muodon määritteeksi, jota seuraa merkkijono-objektit tai arvot.
3. Merkkijonojen yhdistäminen String.join()-menetelmällä (Java-versio 8+)
String.join()-menetelmä on saatavilla Java-versiossa 8 ja kaikissa yllä olevissa versioissa. String.join()-menetelmä hyväksyy argumentit ensin erottimen ja merkkijono-objektien joukon.
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 } }
Lähtö:
Hello World
Yllä olevassa koodinpätkässä String-objekti s tallentaa tuloksen String.join('',s1,s2) menetelmä. Erotin määritetään lainausmerkeissä, joita seuraa merkkijono-objektit tai merkkijono-objektien matriisi.
4. Merkkijonojen yhdistäminen StringJoiner-luokassa (Java-versio 8+)
StringJoiner-luokassa on kaikki String.join()-metodin toiminnot. Sen rakentaja voi etukäteen hyväksyä myös valinnaisia argumentteja, etuliitettä ja päätettä.
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 } }
Lähtö:
Hello, World
Yllä olevassa koodinpätkässä StringJoiner-objekti s on ilmoitettu ja konstruktori StringJoiner() hyväksyy erottimen arvon. Erotin on määritelty lainausmerkeissä. Add()-metodi lisää argumentteina välitetyt merkkijonot.
5. Merkkijonojen yhdistäminen Collectors.joining()-menetelmällä (Java (Java-versio 8+)
Collectors-luokka Java 8:ssa tarjoaa joining()-menetelmän, joka yhdistää syöteelementit samassa järjestyksessä kuin ne tapahtuvat.
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 } }
Lähtö:
diana mary blacker
abc, pqr, xyz
Tässä on luettelo merkkijonotaulukosta. Ja String-objekti str tallentaa tuloksen Keräilijät.joining() menetelmä.