Что лучше StringBuffer или StringBuilder?
Что лучше StringBuffer или StringBuilder?

Видео: Что лучше StringBuffer или StringBuilder?

Видео: Что лучше StringBuffer или StringBuilder?
Видео: Java SE. Урок 27. Классы StringBuilder / StringBuffer и их методы 2024, Май
Anonim

Строка неизменяема, тогда как StringBuffer и StringBuider - изменяемые классы. StringBuffer потокобезопасен и синхронизирован, тогда как StringBuilder нет, вот почему StringBuilder быстрее чем StringBuffer . Оператор String concat + внутренне использует StringBuffer или StringBuilder класс.

Соответственно, что лучше StringBuffer или StringBuilder?

Как результат, StringBuilder быстрее чем StringBuffer . StringBuffer изменчив. Он может меняться по длине и содержанию. StringBuffers являются потокобезопасными, что означает, что у них есть синхронизированные методы для управления доступом, так что только один поток может получить доступ к StringBuffer синхронизированный код объекта за раз.

Точно так же, почему StringBuffer медленнее, чем StringBuilder? Объект, созданный через StringBuffer хранится в куче. StringBuffer имеет те же методы, что и StringBuilder , но каждый метод в StringBuffer синхронизируется, то есть StringBuffer потокобезопасен. Таким образом StringBuilder быстрее чем в StringBuffer при вызове одних и тех же методов каждого класса.

В чем разница между StringBuffer и StringBuilder?

StringBuilder . StringBuilder такой же, как StringBuffer , то есть он хранит объект в куче, и его также можно изменить. Главный разница между в StringBuffer и StringBuilder в том, что StringBuilder не является потокобезопасным. StringBuilder работает быстро, поскольку не является потокобезопасным.

Когда мне следует использовать StringBuffer?

Если значение объекта может измениться и будет доступно только из одного потока, использовать StringBuilder, потому что StringBuilder не синхронизирован. Если значение объекта может измениться и будет изменено несколькими потоками, использовать а StringBuffer потому что StringBuffer синхронизируется.

Рекомендуемые: