如何使用 Google Guava (Java) 加入数组?

发布于 2024-12-17 13:22:00 字数 355 浏览 2 评论 0原文

我正在尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

盛夏已如深秋| 2024-12-24 13:22:00

Ints 是包含辅助函数的 Guava 库。

给定 int[] array = { 1, 2, 3 } 您可以使用以下内容:

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

或更简洁:

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

Ints is a Guava library containing helper functions.

Given int[] array = { 1, 2, 3 } you can use the following:

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

Or more succinctly:

String s = Ints.join(", ", array);
夢归不見 2024-12-24 13:22:00

静态方法 Ints.join(String seperator, int... array) 也应该有效。

Static method Ints.join(String separator, int... array) should also work.

后eg是否自 2024-12-24 13:22:00

他们没有为 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 convert Integer to int you can pass in an Integer[].

As you said, use Ints.asList(array) to get an Iterable<Integer> from your int[].

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文