Em Java, a concatenação de String forma uma nova String que é a combinação de várias strings. Existem duas maneiras de concatenar strings em Java:
- Por operador + (concatenação de strings)
- Pelo método concat()
1) Operador de concatenação de strings por + (concatenação de strings)
O operador de concatenação Java String (+) é usado para adicionar strings. Por exemplo:
TestStringConcatenation1.java
class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } }Teste agora
Saída:
Sachin Tendulkar
O Transformações do compilador Java código acima para isso:
String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString();
Em Java, a concatenação de String é implementada por meio da classe StringBuilder (ou StringBuffer) e seu método de acréscimo. O operador de concatenação de strings produz uma nova String anexando o segundo operando ao final do primeiro operando. O operador de concatenação String pode concatenar não apenas String, mas também valores primitivos. Por exemplo:
TestStringConcatenation2.java
class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } }Teste agora
Saída:
80Sachin4040
Nota: Após uma string literal, todos os + serão tratados como operador de concatenação de string.
2) Concatenação de String pelo método concat()
O método String concat() concatena a string especificada ao final da string atual. Sintaxe:
obj em java
public String concat(String another)
Vamos ver o exemplo do método String concat().
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 } }Teste agora
Saída:
vlc media player baixar youtube
Sachin Tendulkar
O programa Java acima concatena dois objetos String s1 e s2 usando concat() método e armazena o resultado em s3 objeto.
Existem algumas outras maneiras possíveis de concatenar Strings em Java,
1. Concatenação de strings usando a classe StringBuilder
StringBuilder é uma classe que fornece o método append() para realizar a operação de concatenação. O método append() aceita argumentos de diferentes tipos como Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder é a maneira mais popular e rápida de concatenar strings em Java. É uma classe mutável, o que significa que os valores armazenados em objetos StringBuilder podem ser atualizados ou alterados.
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 } }
Saída:
Hello World
No trecho de código acima, s1, s2 e é são declarados como objetos de StringBuilder aula. é armazena o resultado da concatenação de s1 e s2 usando acrescentar () método.
2. Concatenação de strings usando o método format()
O método String.format() permite concatenar várias strings usando um especificador de formato como %s seguido pelos valores ou objetos da string.
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 } }
Saída:
Hello World
Aqui, os objetos String é é atribuído o resultado concatenado de Strings s1 e s2 usando String.formato() método. format() aceita parâmetros como especificador de formato seguido por objetos ou valores String.
3. Concatenação de strings usando o método String.join() (Java versão 8+)
O método String.join() está disponível no Java versão 8 e em todas as versões acima. O método String.join() aceita argumentos primeiro, um separador e uma matriz de objetos String.
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 } }
Saída:
o que é alto-falante
Hello World
No trecho de código acima, o objeto String é armazena o resultado de String.join('',s1,s2) método. Um separador é especificado entre aspas seguido pelos objetos String ou matriz de objetos String.
4. Concatenação de strings usando a classe StringJoiner (Java versão 8+)
A classe StringJoiner possui todas as funcionalidades do método String.join(). Antecipadamente, seu construtor também pode aceitar argumentos opcionais, prefixo e sufixo.
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 } }
Saída:
Hello, World
No trecho de código acima, o objeto StringJoiner é é declarado e o construtor StringJoiner() aceita um valor separador. Um separador é especificado entre aspas. O método add() anexa Strings passadas como argumentos.
5. Concatenação de strings usando o método Collectors.joining() (Java (Java versão 8+)
A classe Collectors em Java 8 oferece o método join() que concatena os elementos de entrada em uma ordem semelhante à que ocorrem.
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 } }
Saída:
abc, pqr, xyz
Aqui, uma lista de array String é declarada. E um objeto String str armazena o resultado de Coletores.joining() método.