我正在尝试使用toString(int[])
方法,但我认为我这样做是错误的:
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#toString(int[])
我的代码:
int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;
System.out.println(array.toString());
输出为:
[I@23fc4bec
我也尝试过这样打印,但是:
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的文档中一样:
字符串表示由数组元素的列表组成,用方括号("[]")括起来。相邻元素由字符",“(逗号后跟空格)分隔。
发布于 2012-06-06 05:05:31
您需要的是Arrays.toString(int[])
方法:
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"
。
发布于 2012-06-06 05:05:15
System.out.println(array.toString());
应该是:
System.out.println(Arrays.toString(array));
发布于 2015-12-04 00:00:00
非常同意@Patrik M,但Arrays.toString的问题是它在输出中包含"["和"]"和","“。因此,我将简单地使用正则表达式将它们从输出中删除,如下所示
String strOfInts = Arrays.toString(intArray).replaceAll("\\[|\\]|,|\\s", "");
现在你有了一个可以解析回java.lang.Number
的字符串,例如,
long veryLongNumber = Long.parseLong(intStr);
或者你可以使用java8流,如果你讨厌正则表达式,
String strOfInts = Arrays
.stream(intArray)
.mapToObj(String::valueOf)
.reduce((a, b) -> a.concat(",").concat(b))
.get();
https://stackoverflow.com/questions/10904911
复制相似问题