如何使用Java中的toString方法将int数组转换为String

How to convert an int array to String with toString method in Java

本问题已经有最佳答案,请猛点这里访问。

我试图使用toString(int[])方法,但我认为我做得不对:

http://DOCS.COM/JavaSe/1.5.0/DOCS/API/Java/UTIL/Stord.html HTML toStand(INT[])

我的代码:

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

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

输出为:

1
[I@23fc4bec

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

1
2
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的文档中:

The string representation consists of a list of the array's elements, enclosed in square brackets ("[]"). Adjacent elements are separated by the characters"," (a comma followed by a space).


什么是你想要的是Arrays.toString(int[])方法: </P >

1
2
3
4
5
6
7
8
import java.util.Arrays;

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

..      

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

这是一个静态的Arrays.toString辅助方法的不同,每一个原始的Java类型;一个int[]说:这个方法 </P >

1
public static String toString(int[] a)

Returns a string representation of the contents of the specified array. The string representation consists of a list of the array's elements, enclosed in square brackets ("[]"). Adjacent elements are separated by the characters "," (a comma followed by a space). Elements are converted to strings as by String.valueOf(int). Returns "null" if a is null.


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

应该是: </P >

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


非常多的附和说:"与帕特里克M,但事与arrays.tostring这是它包括"("和")"和","中的产出。所以我会用一个简单的正则表达式℃他们从这类输出 </P >

1
String strOfInts = Arrays.toString(intArray).replaceAll("\\[|\\]|,|\\s","");

现在你有一个可以被解析的字符串,这一回java.lang.Number,for example, </P >

1
long veryLongNumber = Long.parseLong(intStr);

或者你可以使用Java 8流,如果你恨的正则表达式 </P >

1
2
3
4
5
String strOfInts = Arrays
            .stream(intArray)
            .mapToObj(String::valueOf)
            .reduce((a, b) -> a.concat(",").concat(b))
            .get();

你可以使用java.util.arrays: </P >

1
2
String res = Arrays.toString(array);
System.out.println(res);

输出: </P >

1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


的ToString方法是一个阵列的只读存储器的地址打印出来,这让你知道你是。。。。。。。 你要环虽然数组和打印出每一项的研究 </P >

1
2
3
for(int i : array) {
 System.println(i);
}

这个函数时返回一个int型数组中的字符串"形态的类6097321041141011026" </P >

1
2
3
4
5
6
7
private String IntArrayToString(byte[] array) {
        String strRet="";
        for(int i : array) {
            strRet+=Integer.toString(i);
        }
        return strRet;
    }


使用I型多功能的描述在这里,你可以有一个更深入的控制过的字符串表示法中,你得到你的阵列的方法。 </P >

1
2
3
4
5
String[] s = {"hello","world" };
RichIterable<String> r = RichIterable.from(s);
r.mkString();                 // gives"hello, world"
r.mkString(" |");            // gives"hello | world"
r.mkString("<",",",">"); // gives"< hello, world >"

在这里,’s example of安去从一个列表的字符串,字符串中的一个单一的,倒到一个列表的字符串。 </P >

编写: </P >

1
2
$ javac test.java
$ java test

运行: </P >

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Initial list:

       "abc"
       "def"
       "ghi"
       "jkl"
       "mno"

    As single string:

       "[abc, def, ghi, jkl, mno]"

    Reconstituted list:

       "abc"
       "def"
       "ghi"
       "jkl"
       "mno"

源代码: </P >

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.*;
public class test {

    public static void main(String[] args) {
        List<String> listOfStrings= new ArrayList<>();
        listOfStrings.add("abc");
        listOfStrings.add("def");
        listOfStrings.add("ghi");
        listOfStrings.add("jkl");
        listOfStrings.add("mno");

        show("
Initial list:"
, listOfStrings);

        String singleString = listOfStrings.toString();

        show("As single string:", singleString);

        List<String> reconstitutedList = Arrays.asList(
             singleString.substring(0, singleString.length() - 1)
                  .substring(1).split("[\\s,]+"));

        show("Reconstituted list:", reconstitutedList);
    }

    public static void show(String title, Object operand) {
        System.out.println(title +"
"
);
        if (operand instanceof String) {
            System.out.println("    "" + operand +""");
        } else {
            for (String string : (List<String>)operand)
                System.out.println("    "" + string +""");
        }
        System.out.println("
"
);
    }
}