V Javě tvoří zřetězení řetězců nový řetězec, který je kombinací více řetězců. Existují dva způsoby, jak zřetězit řetězce v Javě:
- Pomocí operátoru + (zřetězení řetězců).
- Metodou concat().
1) Řetězec Concatenation operátorem + (String concatenation).
Java String operátor zřetězení (+) se používá k přidávání řetězců. Například:
TestStringConcatenation1.java
class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } }Otestujte to hned
Výstup:
Sachin Tendulkar
The Transformace kompilátoru Java výše uvedený kód k tomuto:
String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString();
V Javě je zřetězení řetězců implementováno prostřednictvím třídy StringBuilder (nebo StringBuffer) a její metody připojení. Operátor zřetězení řetězců vytvoří nový řetězec připojením druhého operandu na konec prvního operandu. Operátor řetězení řetězců může zřetězit nejen řetězec, ale také primitivní hodnoty. Například:
TestStringConcatenation2.java
class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } }Otestujte to hned
Výstup:
80Sachin4040
Poznámka: Po řetězcovém literálu budou všechna + považována za operátor zřetězení řetězců.
2) Řetězec Concatenation metodou concat().
Metoda String concat() zřetězí zadaný řetězec na konec aktuálního řetězce. Syntax:
public String concat(String another)
Podívejme se na příklad metody String concat().
json v příkladu json
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 } }Otestujte to hned
Výstup:
Sachin Tendulkar
Výše uvedený program Java zřetězí dva objekty String s1 a s2 použitím spojit() metoda a uloží výsledek do s3 objekt.
Existuje několik dalších možných způsobů zřetězení řetězců v Javě,
1. Zřetězení řetězců pomocí třídy StringBuilder
Třída StringBuilder poskytuje metodu append() k provedení operace zřetězení. Metoda append() přijímá argumenty různých typů, jako jsou Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder je nejoblíbenější a nejrychlejší způsob zřetězení řetězců v Javě. Jde o proměnlivou třídu, což znamená, že hodnoty uložené v objektech StringBuilder lze aktualizovat nebo měnit.
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 } }
Výstup:
Hello World
Ve výše uvedeném úryvku kódu s1, s2 a s jsou deklarovány jako objekty StringBuilder třída. s ukládá výsledek zřetězení s1 a s2 použitím připojit () metoda.
2. Zřetězení řetězců pomocí metody format().
Metoda String.format() umožňuje zřetězit více řetězců pomocí specifikátoru formátu, jako je %s následovaný řetězcovými hodnotami nebo objekty.
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 } }
Výstup:
Hello World
Zde jsou objekty String s je přiřazen zřetězený výsledek Strings s1 a s2 použitím String.format() metoda. format() přijímá parametry jako specifikátor formátu následovaný objekty nebo hodnotami typu String.
3. Zřetězení řetězců pomocí metody String.join() (Java verze 8+)
Metoda String.join() je dostupná v Javě verze 8 a všech výše uvedených verzích. Metoda String.join() přijímá argumenty nejprve oddělovač a pole objektů String.
StrJoin.java:
římské číslice 1100
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 } }
Výstup:
Hello World
Ve výše uvedeném fragmentu kódu je to objekt String s ukládá výsledek String.join('',s1,s2) metoda. Uvnitř uvozovek je uveden oddělovač, za nímž následují objekty String nebo pole objektů String.
4. Zřetězení řetězců pomocí třídy StringJoiner (Java verze 8+)
Třída StringJoiner má všechny funkce metody String.join(). Jeho konstruktor může předem přijmout také volitelné argumenty, předponu a příponu.
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 } }
Výstup:
Hello, World
Ve výše uvedeném fragmentu kódu je to objekt StringJoiner s je deklarován a konstruktor StringJoiner() přijímá hodnotu oddělovače. Uvnitř uvozovek je uveden oddělovač. Metoda add() připojuje řetězce předané jako argumenty.
5. Zřetězení řetězců pomocí metody Collectors.joining() (Java (Java verze 8+)
Třída Collectors v Javě 8 nabízí metodu joining(), která zřetězí vstupní prvky v podobném pořadí, v jakém se vyskytují.
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 } }
Výstup:
abc, pqr, xyz
Zde je deklarován seznam pole String. A objekt String str ukládá výsledek Collectors.joining() metoda.