Как я могу присоединиться к массиву с помощью 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 или ваша собственная ручная вспомогательная функция.
Любые советы?
Ответы
Ответ 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[]
.