Qual é o melhor StringBuffer ou StringBuilder?
Qual é o melhor StringBuffer ou StringBuilder?

Vídeo: Qual é o melhor StringBuffer ou StringBuilder?

Vídeo: Qual é o melhor StringBuffer ou StringBuilder?
Vídeo: Java SE. Урок 27. Классы StringBuilder / StringBuffer и их методы 2024, Novembro
Anonim

String é imutável, enquanto StringBuffer e StringBuider são classes mutáveis. StringBuffer é thread-safe e sincronizado, enquanto StringBuilder não é, é por isso StringBuilder é mais rápido que StringBuffer . Operador de string concat + usa internamente StringBuffer ou StringBuilder classe.

Da mesma forma, qual é o melhor StringBuffer ou StringBuilder?

Como resultado, StringBuilder é mais rápido que StringBuffer . StringBuffer é mutável. Ele pode mudar em termos de duração e conteúdo. StringBuffers são thread-safe, o que significa que eles têm métodos sincronizados para controlar o acesso para que apenas 1 thread pode acessar um StringBuffer código sincronizado do objeto por vez.

Da mesma forma, por que StringBuffer é mais lento que StringBuilder? O objeto criado por meio de StringBuffer é armazenado na pilha. StringBuffer tem os mesmos métodos que o StringBuilder , mas cada método em StringBuffer está sincronizado que é StringBuffer é thread-safe. Assim StringBuilder é mais rápido que a StringBuffer ao chamar os mesmos métodos de cada classe.

Portanto, qual é a diferença entre StringBuffer e StringBuilder?

StringBuilder . StringBuilder é o mesmo que o StringBuffer , ou seja, ele armazena o objeto no heap e também pode ser modificado. O principal diferença entre a StringBuffer e StringBuilder é aquele StringBuilder não é thread-safe. StringBuilder é rápido, pois não é seguro para threads.

Quando devo usar StringBuffer?

Se o valor do objeto pode mudar e só será acessado a partir de um único thread, usar um StringBuilder porque StringBuilder não está sincronizado. Caso o valor do objeto possa mudar e seja modificado por vários threads, usar uma StringBuffer Porque StringBuffer está sincronizado.

Recomendado: