首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中用toString方法将整型数组转换为字符串

如何在Java中用toString方法将整型数组转换为字符串
EN

Stack Overflow用户
提问于 2012-06-06 05:02:47
回答 7查看 561.6K关注 0票数 158

我正在尝试使用toString(int[])方法,但我认为我这样做是错误的:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#toString(int[])

我的代码:

代码语言:javascript
复制
int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;

System.out.println(array.toString());

输出为:

代码语言:javascript
复制
[I@23fc4bec

我也尝试过这样打印,但是:

代码语言:javascript
复制
System.out.println(new String().toString(array));  // **error on next line**
The method toString() in the type String is not applicable for the arguments (int[])

我从更大更复杂的代码中去掉了这段代码,但如果需要的话,我可以添加它。但这应该提供一般信息。

我正在寻找输出,就像在Oracle的文档中一样:

字符串表示由数组元素的列表组成,用方括号("[]")括起来。相邻元素由字符",“(逗号后跟空格)分隔。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-06-06 05:05:31

您需要的是Arrays.toString(int[])方法:

代码语言:javascript
复制
import java.util.Arrays;

int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;

..      

System.out.println(Arrays.toString(array));

对于每个不同的原始java类型,都有一个静态的Arrays.toString帮助器方法;[int[]说这个](http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#toString(int%5B%5D%29)

公共静态字符串toString(int[] a)

返回指定数组内容的字符串表示形式。字符串表示由数组的元素列表组成,用方括号("[]")括起来。相邻元素由字符", " (逗号后跟空格)分隔。元素被String.valueOf(int)转换为字符串。如果a为null,则返回"null"

票数 309
EN

Stack Overflow用户

发布于 2012-06-06 05:05:15

代码语言:javascript
复制
System.out.println(array.toString());

应该是:

代码语言:javascript
复制
System.out.println(Arrays.toString(array));
票数 39
EN

Stack Overflow用户

发布于 2015-12-04 00:00:00

非常同意@Patrik M,但Arrays.toString的问题是它在输出中包含"[""]"","“。因此,我将简单地使用正则表达式将它们从输出中删除,如下所示

代码语言:javascript
复制
String strOfInts = Arrays.toString(intArray).replaceAll("\\[|\\]|,|\\s", "");

现在你有了一个可以解析回java.lang.Number的字符串,例如,

代码语言:javascript
复制
long veryLongNumber = Long.parseLong(intStr);

或者你可以使用java8流,如果你讨厌正则表达式,

代码语言:javascript
复制
String strOfInts = Arrays
            .stream(intArray)
            .mapToObj(String::valueOf)
            .reduce((a, b) -> a.concat(",").concat(b))
            .get();
票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10904911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档