Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
450 views
in Technique[技术] by (71.8m points)

java - Why is my output being displayed as "[I@15db9742"?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use Arrays.toString to print an array:

private static String arrayToString(int[] arr) {
    return Arrays.toString(arr).replaceAll("\[|\]", "");
}

Or concatenate the elements using a StringBuilder and a for-loop:

private static String arrayToString(int[] arr) {
    StringBuilder sb = new StringBuilder();
    for(int i = 0; i < arr.length; i++) {
        String current = String.valueOf(arr[i]);
        if(i < arr.length-1) current += ", ";
        sb.append(current);
    }
    return sb.toString();
}

Demo:

int[] userAge;
userAge = new int[] {22,24,26,27,28};
System.out.println("The ages of my friends are " + arrayToString(userAge) + ".");

Output:

The ages of my friends are 22, 24, 26, 27, 28.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...