Я не забываю читать статью где-нибудь, которая указала, что вполне прилично все может быть, на некотором уровне, части бизнес-логики, и таким образом, вопрос бессмыслен.
я думаю, что данным примером был дисплей счета на экране. Решение отметить запоздалое красного цвета является бизнес-решением...
Начиная с 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, !
Ничего встроенного, о котором я знаю.
Apache Commons Lang имеет класс под названием StringUtils
, который содержит множество функций соединения.
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]);
}
Не в ядре, нет. Однако поиск по запросу "клей строки соединения массива 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();
}
Вы можете легко написать такую функцию примерно в десяти строках кода:
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();
}