Присоединение int [] к строке
Редактировать: Я только что заметил, что у вас есть int [], а не строка []. Я бы, вероятно, использовал подход Streams:
String result = Arrays.stream(array)
.mapToObj(String::valueOf)
.collect(Collectors.joining(separator));
Если вы действительно хотите использовать цикл for, вам следует использовать StringJoiner
:
public static getArrayString(int[] array, char separator) {
if(array == null || array.length == 0) return "";
String separatorString = String.valueOf(separator);
StringJoiner sj = new StringJoiner(separatorString);
for(int element : array) {
sj.add(String.valueOf(element));
}
return sj.toString();
}
Joining String [] toa String
Формулировка вашего вопроса заставляет меня думать, что вы изучаете это для класса, но если нет, просто используйте встроенную функцию join :
// join takes Iterable<? extends CharSequence> or vararg
String.join(separator, myArray)
String.join(separator, myList)
String.join(separator, charSeq1, charSeq2, ..., charSeqN)
Если вам нужен префикс / суффикс, вы можете использовать StringJoiner :
StringJoiner sj = new StringJoiner(separator, prefix, suffix);
String result = sj.add(s1).add(s2).add(s3).toString();
..., который также является основой Stream
Collectors.joining:
String result = Arrays.stream(array)
.collect(Collectors.joining(separator));
String result = Arrays.stream(array)
.collect(Collectors.joining(separator, prefix, suffix));