Java valodā virkņu savienošana veido jaunu virkni, kas ir vairāku virkņu kombinācija. Ir divi veidi, kā Java saistīt virknes:
- Ar + (virknes savienošana) operatoru
- Ar concat() metodi
1) Virknes savienošana, izmantojot operatoru + (virknes konkatenācija).
Java virkņu savienošanas operators (+) tiek izmantots, lai pievienotu virknes. Piemēram:
TestStringConcatenation1.java
class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } }Izmēģiniet to tagad
Izvade:
Sachin Tendulkar
The Java kompilators pārveido iepriekš norādītais kods šim:
String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString();
Java programmā virkņu savienošana tiek īstenota, izmantojot klasi StringBuilder (vai StringBuffer), un tās pievienošanas metodi. Virkņu savienošanas operators izveido jaunu virkni, pievienojot otro operandu pirmā operanda beigām. Virknes savienošanas operators var savienot ne tikai virkni, bet arī primitīvas vērtības. Piemēram:
TestStringConcatenation2.java
class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } }Izmēģiniet to tagad
Izvade:
80Sachin4040
Piezīme. Pēc virknes literāļa visi plusi tiks uzskatīti par virkņu savienošanas operatoru.
2) Virknes savienošana ar concat() metodi
String concat() metode saista norādīto virkni līdz pašreizējās virknes beigām. Sintakse:
public String concat(String another)
Apskatīsim String concat() metodes piemēru.
mašīnraksts katram
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 } }Izmēģiniet to tagad
Izvade:
Sachin Tendulkar
Iepriekš minētā Java programma apvieno divus virknes objektus s1 un s2 izmantojot concat () metodi un saglabā rezultātu s3 objektu.
Ir daži citi iespējamie veidi, kā Java saistīt virknes,
1. Virkņu savienošana, izmantojot StringBuilder klasi
StringBuilder ir klase, kas nodrošina append() metodi, lai veiktu savienošanas darbību. Metode append() pieņem dažāda veida argumentus, piemēram, Objects, StringBuilder, int, char, CharSequence, Būla, float, double. StringBuilder ir vispopulārākais un ātrākais veids, kā savienot virknes Java. Tā ir mainīga klase, kas nozīmē, ka StringBuilder objektos saglabātās vērtības var atjaunināt vai mainīt.
pandas loc
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 } }
Izvade:
Hello World
Iepriekš minētajā koda fragmentā s1, s2 un s tiek deklarēti kā objekti StringBuilder klasē. s saglabā savienojuma rezultātu s1 un s2 izmantojot pievienot () metode.
2. Virkņu savienošana, izmantojot format() metodi
String.format() metode ļauj savienot vairākas virknes, izmantojot formāta norādītāju, piemēram, %s, kam seko virknes vērtības vai objekti.
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 } }
Izvade:
Hello World
Lūk, String objekti s tiek piešķirts virkņu sasaistītais rezultāts s1 un s2 izmantojot String.format() metodi. format() pieņem parametrus kā formāta norādītāju, kam seko virknes objekti vai vērtības.
3. Virku savienošana, izmantojot metodi String.join() (Java versija 8+)
Metode String.join() ir pieejama Java versijā 8 un visās iepriekš minētajās versijās. String.join() metode vispirms pieņem argumentus, atdalītāju un virknes objektu masīvu.
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 } }
Izvade:
Hello World
Iepriekš minētajā koda fragmentā objekts String s saglabā rezultātu String.join('',s1,s2) metodi. Atdalītājs ir norādīts pēdiņās, kam seko virknes objekti vai virknes objektu masīvs.
4. Virku savienošana, izmantojot klasi StringJoiner (Java versija 8+)
StringJoiner klasei ir visas String.join() metodes funkcijas. Iepriekš tā konstruktors var pieņemt arī izvēles argumentus, prefiksu un sufiksu.
StrJoiner.java
operatori python programmēšanā
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 } }
Izvade:
Hello, World
Iepriekš minētajā koda fragmentā StringJoiner objekts s tiek deklarēts, un konstruktors StringJoiner() pieņem atdalītāja vērtību. Atdalītājs ir norādīts pēdiņās. Metode add() pievieno virknes, kas nodotas kā argumenti.
5. Virku savienošana, izmantojot metodi Collectors.joining() (Java (Java versija 8+)
Kolekcionāru klase Java 8 piedāvā savienošanas () metodi, kas savieno ievades elementus līdzīgā secībā, kādā tie rodas.
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 } }
Izvade:
abc, pqr, xyz
Šeit tiek deklarēts virkņu masīva saraksts. Un String objekts str saglabā rezultātu Kolekcionāri.joining() metodi.