В чем разница между Apache commons-lang StrBuilder и Java land StringBuilder?

Чем StrBuilder в Apache commons lang отличается от Java lang api.

В Apache commons-lang3 я вижу, что StrBuilder устарел.

import org.apache.commons.lang3.text.StrBuilder;
StrBuilder sb = new StrBuilder();

или я могу вместо этого использовать Java Lang StringBuilder?

java.lang.StringBuilder
StringBuilder sb1=new StringBuilder();

0 ответов

Насколько я понимаю, он очень похож на дизайн Java StringBuilder, но добавляет к нему дополнительные функциональные возможности. Основными отличиями от JavaDoc от Apache Common Lang являются:

  • Не синхронизировано
  • Не окончательный
  • Подклассы имеют прямой доступ к массиву символов

    Дополнительные методы

  • appendWithSeparators - добавляет массив значений с разделителем

  • appendPadding - добавляет длину отступа символов
  • appendFixedLength - добавляет поле фиксированной ширины в конструктор
  • toCharArray / getChars - более простые способы получить диапазон массива символов
  • удалить - удалить символ или строку
  • заменить - поиск и замена для символа или строки
  • leftString / rightString / midString - подстрока без исключений
  • содержит - содержит ли строитель символ или строку
  • size / clear / isEmpty - методы API стиля коллекций

    Просмотры

  • asTokenizer - использует внутренний буфер в качестве источника StrTokenizer

  • asReader - использует внутренний буфер в качестве источника Reader
  • asWriter - позволяет Writer писать прямо во внутренний буфер

Чтобы ответить, можете ли вы использовать его или нет, StrBuilder в новых версиях был извращен в пользу org.apache.commons.text.TextStringBuilder. Это было сделано, чтобы избежать путаницы с StringBuilder.

Другие вопросы по тегам