Anexar Strings em Java com Eficiência

Farkhanda Athar 12 outubro 2023
  1. concat() Da classe java.lang.String
  2. Concatenação de string usando o operador +
  3. Usando o método concat() de java.lang.String
  4. Usando StringBuffer para Concatenar Strings em Java
  5. Usando StringBuilder na Concatenação de Strings em Java
Anexar Strings em Java com Eficiência

Quando falamos sobre concatenação de string em Java, o operador + vem à mente para anexar strings de maneira mais eficiente. Como o Java não oferece suporte para sobrecarga, é especial que as strings tenham esse comportamento. Existem vários métodos, além do operador +, usados ​​para anexar uma string em Java que são;

  • StringBuffer
  • StringBuilder

concat() Da classe java.lang.String

Ambas as classes StringBuffer e StringBuilder são usadas para este propósito. StringBuilder tem importância porque é o método mais rápido para concatenar strings. StringBuffer tem prioridade em segundo lugar devido ao método sincronizado e porque os outros métodos além deles são 1000 vezes mais lentos do que estes dois. Aqui veremos um exemplo desses quatro métodos.

public class Main {
  public static void main(String args[]) {
    // 1st method of concat
    String str1 = "Most";
    str1 = str1.concat(" Welcome");
    str1 = str1.concat(" to University");
    System.out.println(str1);
    // 2nd method of concat
    String str2 = "Today";
    str2 = str2.concat(" is").concat(" your first").concat(" day");
    System.out.println(str2);
  }
}

Resultado:

Most Welcome to University
Today is your first day

Concatenação de string usando o operador +

Este é o método mais simples para unir strings e valores numéricos em Java. Quando os usuários têm dois ou mais valores primitivos, como short, char ou int no início de uma concatenação de string, eles devem ser convertidos em strings explicitamente. Por exemplo, System.out.println(300, + 'B'+ "") nunca imprimirá 300B, ele imprimirá 366 tomando o valor ASCII de B e, em seguida, adicionando-o a 300. Por outro lado , se usarmos System.out.println('', + 300 +'B'), ele imprimirá 300B. Todas as varreduras do operador + devem ser concatenadas em várias chamadas StringBuilder.append() antes de chamar String().

Usando o método concat() de java.lang.String

O método concat(String str) concatena algumas Strings específicas no final da string. Ele aloca o char[] de comprimento, igual ao comprimento combinado de duas Strings. Este método copia os dados da String para essa string e cria um novo objeto String do construtor particular da String, que não copia a entrada char[] conforme fornecido a seguir.

import java.util.Scanner;
public class Main {
  public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter the first string: ");
    String str1 = sc.next();
    System.out.println("Enter the second string: ");
    String str2 = sc.next();

    String result = str1 + str2;
    System.out.println(result);
  }
}

Resultado:

Enter the first string: 
United
Enter the second string: 
Kingdom
UnitedKingdom

Usando StringBuffer para Concatenar Strings em Java

Este é o método mais apropriado para concatenar várias strings, inteiros e outras partes de Java quando StringBuilder não está disponível. Ele funciona mais rápido do que os métodos de operador concat() e +. A única desvantagem dessa abordagem é que os métodos de acréscimo por StringBuffer são sincronizados. A sua metodologia de trabalho é semelhante ao método StringBuilder. Ele também fornece diferentes métodos de acréscimo sobrecarregado para concatenar char, int, short, etc.

public class Main {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("My ");
    sb.append("Country");
    System.out.println(sb);
  }
}

Resultado:

My Country

Usando StringBuilder na Concatenação de Strings em Java

Este é um dos melhores métodos para concatenar strings em Java. Mais importante ainda, quando os usuários estão concatenando várias cadeias de caracteres. Esse método é fácil e eficiente de usar quando os usuários precisam anexar várias strings. Mas esse método não é comumente usado quando os usuários precisam concatenar strings.

public class Main {
  public static void main(String args[]) {
    StringBuilder sb = new StringBuilder("My ");
    sb.append("Country");
    System.out.println(sb);
  }
}

Resultado:

My Country

Artigo relacionado - Java String