Подтвердить что ты не робот

Как я могу присоединиться к массиву с помощью Google Guava (Java)?

Я пытаюсь присоединиться к int[] (массив int) с помощью класса Guava Joiner.

Пример:

int[] array = { 1, 2, 3 };
String s = Joiner.on(", ").join(array);  // not allowed

Я проверил StackOverflow и Google. В базовых классах нет "однострочного слоя" для преобразования int[] в Integer[] или List<Integer>. Для этого всегда требуется цикл for или ваша собственная ручная вспомогательная функция.

Любые советы?

4b9b3361

Ответ 1

Ints - это библиотека Guava, содержащая вспомогательные функции.

Учитывая int[] array = { 1, 2, 3 }, вы можете использовать следующее:

String s = Joiner.on(", ").join(Ints.asList(array));

Или более лаконично:

String s = Ints.join(", ", array);

Ответ 2

Статический метод Ints.join(String separator, int... array) также должен работать.

Ответ 3

Причина, по которой они не добавили подпись для join(int[]), заключается в том, что тогда им пришлось бы добавить один для каждого примитивного типа. Поскольку autoboxing работает автоматически для преобразования Integer в int, вы можете передать Integer[].

Как вы сказали, используйте Ints.asList(array), чтобы получить Iterable<Integer> от вашего int[].