logo

Eilučių sujungimas Java

„Java“ programoje „String“ sujungimas sudaro naują eilutę, kuri yra kelių eilučių derinys. „Java“ eilutes galima sujungti dviem būdais:

  1. Pagal + (eilutės sujungimo) operatorių
  2. Pagal concat() metodą

1) Stygų sujungimas naudojant + (Eilutės sujungimo) operatorių

„Java“ eilutės sujungimo operatorius (+) naudojamas eilutėms pridėti. Pavyzdžiui:

TestStringConcatenation1.java

 class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } } 
Išbandykite dabar

Išvestis:

4 mėn
 Sachin Tendulkar 

The „Java“ kompiliatorius transformuoja aukščiau esantis kodas:

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

„Java“ programoje „String“ sujungimas įgyvendinamas naudojant „StringBuilder“ (arba „StringBuffer“) klasę ir jos pridėjimo metodą. Eilučių sujungimo operatorius sukuria naują eilutę, pridėdamas antrą operandą prie pirmojo operando pabaigos. String sujungimo operatorius gali sujungti ne tik eilutę, bet ir primityvias reikšmes. Pavyzdžiui:

TestStringConcatenation2.java

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

Išvestis:

 80Sachin4040 

Pastaba: po eilutės literalo visi + bus laikomi eilučių sujungimo operatoriumi.

2) Eilučių sujungimas concat() metodu

String concat() metodas sujungia nurodytą eilutę iki dabartinės eilutės pabaigos. Sintaksė:

 public String concat(String another) 

Pažiūrėkime String concat() metodo pavyzdį.

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 } } 
Išbandykite dabar

Išvestis:

 Sachin Tendulkar 

Aukščiau pateikta Java programa sujungia du eilutės objektus s1 ir s2 naudojant concat () metodą ir išsaugo rezultatą s3 objektas.

Yra keletas kitų galimų „Java“ eilučių sujungimo būdų,

1. Eilučių sujungimas naudojant StringBuilder klasę

„StringBuilder“ yra klasė, suteikianti append() metodą, skirtą sujungimo operacijai atlikti. Metodas append() priima įvairių tipų argumentus, pvz., Objects, StringBuilder, int, char, CharSequence, loginius, float, double. StringBuilder yra populiariausias ir greičiausias būdas sujungti eilutes Java. Tai yra keičiama klasė, o tai reiškia, kad StringBuilder objektuose saugomas vertes galima atnaujinti arba keisti.

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

Išvestis:

 Hello World 

Aukščiau pateiktame kodo fragmente s1, s2 ir s yra deklaruojami kaip objektai StringBuilder klasė. s išsaugo sujungimo rezultatą s1 ir s2 naudojant pridėti () metodas.

2. Eilučių sujungimas naudojant format() metodą

String.format() metodas leidžia sujungti kelias eilutes naudojant formato specifikaciją, pvz., %s, po kurios pateikiamos eilutės reikšmės arba objektai.

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

Išvestis:

 Hello World 

Čia objektai Styga s priskiriamas sujungtas eilutės rezultatas s1 ir s2 naudojant String.format() metodas. format() priima parametrus kaip formato specifikatorių, po kurių seka String objektus arba reikšmes.

3. Eilučių sujungimas naudojant String.join() metodą („Java“ 8 ir naujesnė versija)

String.join() metodas galimas 8 versijoje ir visose aukščiau nurodytose versijose. String.join() metodas pirmiausia priima argumentus, skirtuką ir String objektų masyvą.

np nuliai

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

Išvestis:

 Hello World 

Aukščiau pateiktame kodo fragmente eilutės objektas s išsaugo rezultatą String.join('',s1,s2) metodas. Skiriklis nurodomas kabutėse, po kurių nurodomas eilutės objektai arba eilutės objektų masyvas.

4. Eilučių sujungimas naudojant „StringJoiner“ klasę („Java“ 8 ir naujesnė versija)

StringJoiner klasė turi visas String.join() metodo funkcijas. Iš anksto jo konstruktorius taip pat gali priimti pasirenkamus argumentus, priešdėlį ir priesagą.

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

Išvestis:

 Hello, World 

Aukščiau pateiktame kodo fragmente „StringJoiner“ objektas s yra deklaruojamas, o konstruktorius StringJoiner() priima skyriklio reikšmę. Skiriklis nurodytas kabutėse. Metodas add() prideda eilutes, perduodamas kaip argumentus.

5. Eilučių sujungimas naudojant Collectors.joining() metodą („Java“ („Java“ 8+ versija)

Kolekcionierių klasė Java 8 siūlo prisijungimo () metodą, kuris sujungia įvesties elementus panašia tvarka, kaip jie atsiranda.

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

Išvestis:

 abc, pqr, xyz 

Čia deklaruojamas eilučių masyvo sąrašas. Ir stygos objektas str išsaugo rezultatą Kolekcionieriai.joining() metodas.