String Array to String без последнего значения индекса - PullRequest
0 голосов
/ 21 декабря 2018

Я работаю со String и String [] в Java.

У меня есть одна строка [], и я хочу преобразовать в строку, но не хочу, чтобы в ней было последнее значение индекса.

String[] arr = new String[]{"1","2","3","4"};

Я хочу новую строку только как 123.

Да, я могу перебрать arr до второго последнего индекса, поддерживающего присвоение значения в новой строке.Но есть ли другой путь к этой вещи умнее?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Я думаю о трех способах.

Первый использует StringBuilder.Это дает вам полный контроль с минимумом мусора. (я бы предпочел это)

public static String convert(String... arr) {
    // in case of arr is really big, then it's better to first
    // calculate required internal buffer size, to exclude array copy
    StringBuilder buf = new StringBuilder();

    for(int i = 0; i < arr.length - 1; i++)
        buf.append(arr[i]);

    return buf.toString();
}

Другой способ - использовать функцию Java8 String.join():

public static String convert(String... arr) {
    return String.join("", arr).substring(0, arr.length - 1);
}

И, наконец, использовать Stream:

public static String convert(String... arr) {
    return Arrays.stream(arr, 0, arr.length - 1).collect(Collectors.joining(""));
}
0 голосов
/ 21 декабря 2018

попробуйте

    String[] arr = new String[]{"1","2","3","4"};
    String newString = "";

    for (int i = 0; i < arr.length -1 ; i++) {
        newString += arr[i];
    }


    System.out.print(newString);

Вывод

123

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...