簡體   English   中英

[[Ljava.lang.Integer; @ 3af4d6b3,[Ljava.lang.Integer; @ 203ba002]

[英][[Ljava.lang.Integer;@3af4d6b3, [Ljava.lang.Integer;@203ba002]

看來這可能是一個愚蠢的問題,但我無法正確理解為什么每次在控制台上都會出現這種情況。 我已經檢查了每一行,但是每一行都正確響應,但是當出現隨機播放然后打印時,它給了我這個輸出。

我的代碼:

package rando;

import java.util.Arrays;
import java.util.Collections;

public class random
{
    public static void main( String [] args)
    {
        Integer[][] arr = new Integer[2][2];
        for (int i = 0; i < arr[1].length; i++)
        {
            for(int j=0; j<arr[1].length;j++)
            {
              arr[i][j] = i;
             // int iData=(int) (Math.random()*(int)arr[i][j]);
            }
        }
        Collections.shuffle(Arrays.asList(arr));
        System.out.println(Arrays.toString(arr));
    }
}

在這里,您將創建一個大小為2的數組,每個數組包含兩個大小為2的數組:

Integer[][] arr = new Integer[2][2];

在這里,您可以打印數組的內容:

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

如果在數組上調用.toString() ,則會得到類似[[Ljava.lang.Integer;@3af4d6b3 由於Arrays.toString()在數組中的每個元素上調用.toString() ,因此可以解釋結果。 如@JB Nizet所示,您可能打算調用Arrays.deepToString()

改用這個:

      System.out.println(Arrays.deepToString(arr));

數組不會覆蓋toString()方法。 這就是為什么您使用Arrays.toString()而不是直接使用arr.toString() 但是您的數組包含數組,因此Arrays.toString()方法顯示外部數組包含的每個內部數組的無意義的toString()

如果您想要有意義的表示形式,請遍歷數組,或使用Arrays.deepToString() ,或使用列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM