Выбор ответа Junior String и пул строк обновлено

StringBuilder и StringBuffer

Вопрос

Чем StringBuilder отличается от StringBuffer?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: StringBuffer синхронизирован, StringBuilder нет и поэтому быстрее. Оба изменяемые и имеют одинаковый API.

Варианты ответа

  1. StringBuffer синхронизирован, StringBuilder нет и поэтому быстрееправильный ответ
  2. StringBuilder неизменяем, а StringBuffer изменяемый и быстрее
  3. StringBuffer хранит строку в пуле строк, а StringBuilder в куче
  4. Ничем: StringBuffer это просто новое имя того же класса

Разбор

Оба изменяемые и имеют одинаковый API. У StringBuffer методы synchronized, это лишние затраты, а делить один билдер между потоками почти никогда не нужно. StringBuilder появился в Java 5 как несинхронизированная замена. Ни один из них не связан с пулом строк.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме