Java-эквиваленты C # String.Format () и String.Join ()

Переключение удаленных URL

Откройте терминал.

Ist Шаг: - Измените текущий рабочий каталог на локальный проект.

2nd Step: - Перечислите свой (f3)

origin  https://github.com/USERNAME/REPOSITORY.git (fetch)

origin  https://github.com/USERNAME/REPOSITORY.git (push)

Измените URL своего пульта с HTTPS на SSH с помощью кнопок, которые вы хотите изменить.

3-й шаг: git remote set-url.

4th Step: - git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

Теперь проверьте, что удаленный URL-адрес изменился.

5-й шаг: - git remote -v Проверить новый удаленный URL

origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
origin  git@github.com:USERNAME/REPOSITORY.git (push)
108
задан Omar Kooheji 5 January 2012 в 16:10
поделиться

6 ответов

Строковый объект Java имеет format метод (с 1,5), но никакой join метод.

Для получения набора полезных Строковых служебных методов, не уже включенных, Вы могли использовать org.apache.commons.lang. StringUtils.

91
ответ дан Tom Cammann 6 January 2012 в 03:10
поделиться

Если Вы хотите присоединиться (связывают) несколько строк в одну, необходимо использовать StringBuilder. Это намного лучше, чем использование

for(String s : joinMe)
    target += s;

существует также небольшая победа производительности над StringBuffer, так как StringBuilder не использует синхронизацию.

Для служебного метода общего назначения как это, это будут (в конечном счете) много раз называть во многих ситуациях, таким образом, необходимо будет сделать это эффективным и не выделить много временных объектов. Мы представили многих, много различных приложений Java и почти всегда находим, что конкатенация строк и строка/символ [] выделения поднимают существенное количество времени/памяти.

Наш допускающий повторное использование набор-> строковый метод сначала вычисляет размер необходимого результата и затем создает StringBuilder с тем начальным размером; это избегает ненужного удвоения/копирования внутреннего символа [] используемый при добавлении строк.

1
ответ дан djb 6 January 2012 в 03:10
поделиться
  • 1
    Я думаю, что Вы имеете в виду " это doesn' t улучшил основной O (n2) performance" – David Oneill 21 January 2010 в 09:17

String.format. Что касается соединения, необходимо записать собственное:

 static String join(Collection<?> s, String delimiter) {
     StringBuilder builder = new StringBuilder();
     Iterator<?> iter = s.iterator();
     while (iter.hasNext()) {
         builder.append(iter.next());
         if (!iter.hasNext()) {
           break;                  
         }
         builder.append(delimiter);
     }
     return builder.toString();
 }

Вышеупомянутое прибывает от http://snippets.dzone.com/posts/show/91

46
ответ дан Rok Strniša 6 January 2012 в 03:10
поделиться
  • 1
    Так какой смысл точно? По-видимому, ни один, к downvote мой ответ ни по какой причине. Используя два центра методы будут дважды стеком наверху, как я указал, и также как я указал на него doesn' t получают Вас что-либо по существующим методам, таким образом, what' s точка? По-видимому, ни один, так же, как с самим вопросом. – Charles Eli Cheese 21 January 2010 в 14:35

Что касается соединения, я полагаю, что это могло бы выглядеть немного менее сложным:

public String join (Collection<String> c) {
    StringBuilder sb=new StringBuilder();
    for(String s: c)
        sb.append(s);
    return sb.toString();
}

я не добираюсь для использования синтаксиса Java 5 так же, как я хотел бы (Хотите верьте, хотите нет, я использовал 1.0.x в последнее время), таким образом, я могу быть немного ржавым, но я уверен, что понятие корректно.

дополнение редактирования: Строка добавляет, может быть достаточно медленным, но если Вы работаете над кодом GUI или некоторой коротко рабочей стандартной программой, действительно не имеет значения при взятии.005 секунд или.006, поэтому если у Вас был набор, названный "joinMe", что Вы хотите добавить к существующей строке "цель", это не было бы ужасающе, чтобы просто встроить это:

for(String s : joinMe)
    target += s;

Это довольно неэффективно (и дурная привычка), но ничто, что Вы сможете чувствовать, если не будет или тысячами строк или это в огромном цикле, или Ваш код является действительно очень важной производительностью.

, Что еще более важно, легко помнить, закоротить, быстрый и очень читаемый. Производительность является не всегда автоматическим победителем в проектных решениях.

4
ответ дан Bill K 6 January 2012 в 03:10
поделиться
  • 1
    Я думаю это you' ре, упускающее суть. Для имения достойного quicksort необходимо быть в состоянии обработать повторенные элементы. Текущие способы сделать это добавляют намного больше к quicksort, чем мой метод. O (N^2) худшая производительность случая прибывает из повторных элементов и/или выбора плохих центров. Это улучшение занимается повторной частью элементов и median-3 методом выбора центра, или выбор случайных центров может помочь с выбором лучших центров. – Justin Peel 21 January 2010 в 09:31

StringUtils is a pretty useful class in the Apache Commons Lang library.

0
ответ дан 24 November 2019 в 03:21
поделиться

Я бы просто использовал оператор конкатенации строк "+" для соединения двух строк. s1 + = s2;

-8
ответ дан 24 November 2019 в 03:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: