logo

Zřetězení řetězců v Javě

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ě:

  1. Pomocí operátoru + (zřetězení řetězců).
  2. 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.