Java: функция для массивов как соединение PHP ()?

Я не забываю читать статью где-нибудь, которая указала, что вполне прилично все может быть, на некотором уровне, части бизнес-логики, и таким образом, вопрос бессмыслен.

я думаю, что данным примером был дисплей счета на экране. Решение отметить запоздалое красного цвета является бизнес-решением...

255
задан coobird 3 October 2009 в 15:52
поделиться

5 ответов

Начиная с Java8 , можно использовать String.join () .

String.join(", ", new String[]{"Hello", "World", "!"})

Генерирует:

Hello, World, !

В противном случае Apache Commons Lang имеет класс StringUtils , в котором есть функция join , которая объединяет массивы вместе в строку String .

Например:

StringUtils.join(new String[] {"Hello", "World", "!"}, ", ")

] Создает следующую Строку :

Hello, World, !
307
ответ дан 23 November 2019 в 02:46
поделиться

Ничего встроенного, о котором я знаю.

Apache Commons Lang имеет класс под названием StringUtils , который содержит множество функций соединения.

4
ответ дан 23 November 2019 в 02:46
поделиться

java.util.Arrays имеет метод asList. Вместе с API java.util.List / ArrayList это дает вам все, что вам нужно:;

private static String[] join(String[] array1, String[] array2) {

    List<String> list = new ArrayList<String>(Arrays.asList(array1));
    list.addAll(Arrays.asList(array2));
    return list.toArray(new String[0]);
}
-3
ответ дан 23 November 2019 в 02:46
поделиться

Не в ядре, нет. Однако поиск по запросу "клей строки соединения массива java" даст вам несколько фрагментов кода о том, как этого добиться.

например,

public static String join(Collection s, String delimiter) {
    StringBuffer buffer = new StringBuffer();
    Iterator iter = s.iterator();
    while (iter.hasNext()) {
        buffer.append(iter.next());
        if (iter.hasNext()) {
            buffer.append(delimiter);
        }
    }
    return buffer.toString();
}
8
ответ дан 23 November 2019 в 02:46
поделиться

Вы можете легко написать такую ​​функцию примерно в десяти строках кода:

String combine(String[] s, String glue)
{
  int k = s.length;
  if ( k == 0 )
  {
    return null;
  }
  StringBuilder out = new StringBuilder();
  out.append( s[0] );
  for ( int x=1; x < k; ++x )
  {
    out.append(glue).append(s[x]);
  }
  return out.toString();
}
52
ответ дан 23 November 2019 в 02:46
поделиться
Другие вопросы по тегам:

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