String и StringBuilder часто используются в проектах. String можно склеить с помощью «+», а StringBuilder можно склеить с помощью add. Я никогда не понимал, зачем мне использовать StringBuilder, ведь я могу использовать String. Хотя я обычно использую StringBuilder для объединения операторов запроса при выполнении запросов к базе данных, я до сих пор не знаю причину. Когда я смотрел видео сегодня, я снова увидел StringBuffer и почувствовал, что его использование похоже, поэтому я проверил различия между этими вещами.
Это резюмируется следующим образом:
1. Сравнение по скорости выполнения: StringBuilder > StringBuffer
2. StringBuffer и StringBuilder — это строковые переменные и изменяемые объекты. Всякий раз, когда мы используем их для работы со строками, мы фактически работаем с объектом. Это не похоже на создание некоторых объектов, которые работают как String. Так что скорость очень высокая.
3.StringBuilder: потокобезопасный
StringBuffer: потокобезопасный
Когда наш строковый буфер используется несколькими потоками, JVM не может гарантировать безопасность работы StringBuilder. Хотя он и самый быстрый, он может гарантировать правильную работу StringBuffer. Конечно, в большинстве случаев мы выполняем операции в одном потоке, поэтому в большинстве случаев из соображений скорости рекомендуется использовать StringBuilder вместо StringBuffer.
Краткое описание использования трех:
1. Если вы хотите обработать небольшой объем данных, используйте String
2. Однопоточная работа строкового буфера для работы с большим объемом данных StringBuilder
3. Многопоточная работа строкового буфера для работы с большим объемом данных StringBuffer