logo

Concatenação de Strings em Java

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:

  1. Por operador + (concatenação de strings)
  2. 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.