Na linguagem de programação Java, a classe StringBuilder é ...

Próximas questões
Com base no mesmo assunto
Q2087706 Programação
Na linguagem de programação Java, a classe StringBuilder é empregada para criar e manipular informações de string dinâmica, ou seja, strings modificáveis. Em relação a tal classe, assinale a afirmativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - StringBuilders não são seguros para thread.

A questão aborda o conhecimento a respeito da classe StringBuilder em Java, que é utilizada para manipular e criar strings de forma eficiente, especialmente quando há múltiplas operações de modificação em uma sequência de caracteres. Isso se deve ao fato de que objetos String em Java são imutáveis, e cada modificação resulta na criação de um novo objeto, o que pode ser custoso em termos de desempenho.

Quando falamos sobre a StringBuilder, é importante conhecer seu comportamento em ambientes multi-thread, ou seja, quando várias threads estão manipulando o mesmo objeto simultaneamente. A afirmativa correta (A) destaca que os objetos StringBuilder não são seguros para thread (thread-safe), significando que eles não possuem mecanismos internos de sincronização para controlar o acesso simultâneo de múltiplas threads. Se for necessário um objeto de construção de strings que seja seguro para threads, deve-se utilizar a classe StringBuffer, que é semelhante em funcionalidade mas inclui sincronização de métodos.

Essa característica é importante para a otimização do desempenho em situações onde a sincronização não é necessária, permitindo que a classe StringBuilder opere mais rapidamente do que seu equivalente sincronizado.

As outras alternativas são incorretas por várias razões:

  • A classe StringBuilder não fornece oito construtores, mas sim cinco.
  • O método length retorna o número de caracteres na sequência de caracteres e não se relaciona com a capacidade do StringBuilder.
  • Se a capacidade de um StringBuilder for excedida, ele aumenta automaticamente sua capacidade, não ocorrendo um estouro de buffer.
  • Em programas que realizam muitas concatenações de strings, é justamente recomendável utilizar a classe StringBuilder devido ao ganho de desempenho gerado pela redução na criação de objetos imutáveis.

Portanto, ao trabalhar com a classe StringBuilder em Java, lembre-se de que ela oferece uma maneira eficiente de manipular strings, mas é necessário garantir a segurança do thread manualmente ou optar por StringBuffer se a aplicação será executada em um ambiente multi-threaded.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo