如何使用 Google Guava (Java) 加入数组?
我正在尝试使用 Google Guava 的 Joiner 类加入 int[]
(int 数组)。
示例:
int[] array = { 1, 2, 3 }; String s = Joiner.on(", ").join(array); // not allowed
我检查了 StackOverflow 和 Google。基础类中没有“一行”将 int[]
转换为 Integer[]
或 List
。它总是需要一个 for 循环,或者您自己的手动辅助函数。
有什么建议吗?
I am trying to join int[]
(array of int) using Google Guava's Joiner class.
Example:
int[] array = { 1, 2, 3 }; String s = Joiner.on(", ").join(array); // not allowed
I checked StackOverflow and Google. There is no "one-liner" in foundation classes to convert int[]
to Integer[]
or List<Integer>
. It always requires a for loop, or your own hand-rolled helper function.
Any advice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Ints 是包含辅助函数的 Guava 库。
给定
int[] array = { 1, 2, 3 }
您可以使用以下内容:或更简洁:
Ints is a Guava library containing helper functions.
Given
int[] array = { 1, 2, 3 }
you can use the following:Or more succinctly:
静态方法
Ints.join(String seperator, int... array)
也应该有效。Static method
Ints.join(String separator, int... array)
should also work.他们没有为
join(int[])
添加签名的原因是,他们必须为每种基本类型添加一个签名。由于自动装箱会自动将Integer
转换为int
,因此您可以传入Integer[]
。正如您所说,使用
Ints.asList(array)
从int[]
获取Iterable
。The reason they did not add a signature for
join(int[])
is that then they would have had to add one for each primitive type. Since autoboxing works automatically to convertInteger
toint
you can pass in anInteger[]
.As you said, use
Ints.asList(array)
to get anIterable<Integer>
from yourint[]
.