Бесполезно использовать StringBuilder в приведенном ниже случае?

1

У меня есть случай, когда мне нужно создать URL-адрес с ключом в конце URL-адреса. Мне нужно изменить URL, изменив разные ключи.

Я использую StringBuilder как ниже бесполезно, поскольку я преобразовываю его обратно в string

//the below line loops for a number of times with strKey changing each time
url = new URL(strUrl.append(strKey).toString());
  • 1
    Если вы напишите его как strUrl + strKey , компилятор Java создаст для вас строители строк.
  • 2
    Я не думаю, что вы дали нам достаточно информации, чтобы помочь вам. Учитывая , что вы зацикливание, похоже , вы повторно использовать strUrl StringBuilder , неоднократно добавляя к нему, так что нет, не кажется , бессмысленно. Если вы используете конкатенацию строк, StringBuilders будет создаваться и выбрасываться каждый раз.
Теги:
stringbuilder

2 ответа

1

В вашем примере и для всех современных JDK (Java 1. 5+) он использует StringBuilder для нормального добавления строки.

 url = new URL(strUrl.append(strKey).toString()); // There is nothing wrong with this.

Но он (функционально) идентичен

 url = new URL(strUrl + strKey);

До Java 1.5 использовался StringBuffer.

  • 0
    ОП говорит, что он зациклен, и поскольку он не заменяет strUrl , это подразумевает повторное использование. Так что функционально не то же самое, и более эффективно использовать StringBuilder чем конкатенацию. Но в вопросе недостаточно информации, чтобы быть уверенным.
  • 0
    @TJCrowder Возможно. Но OP также не упоминает об их сбросе ... отсюда мое предположение.
Показать ещё 1 комментарий
1

Это. Просто конкатенирование строк здесь, скорее всего, происходит быстрее (поскольку вы только копируете данные один раз) и более четкими.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню