无法打印出在类构造函数中初始化的arrayOfInt

时间:2016-01-05 10:29:42

标签: java constructor

我是Java的新手,正在尝试学习构造函数的概念。我尝试在main方法中打印出arrayOfInts的值(用于测试构造函数是否按照我预期的方式初始化)

System.out.println(ds.arrayOfInts);

但是,输出不是打印出值,而是输出:

[I@15db9742

为什么我得错了结果以及如何打印出正确的结果? (即存储在arrayOfInts中的值)。

 public class DataStructure {

    public static void main(String[] args) {
        DataStructure ds = new DataStructure();
        //System.out.println(ds.arrayOfInts); Doesnt work as expected

    }

    private final static int SIZE = 15;
    private int[] arrayOfInts = new int[SIZE];

    public DataStructure() {
        int arrayValue = 0;
        for (int i = 0; i < SIZE; i++) {
            arrayOfInts[i] = ++arrayValue;
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您正在尝试打印数组。数组是一个对象。

为了正确显示它,您可以循环显示它,或使用Arrays.toString()方法:

System.out.println(Arrays.toString(ds.arrayOfInts));

返回指定数组的字符串表示形式。

答案 1 :(得分:1)

数组是java中的对象。您需要迭代元素并打印它们。以下是使用for-each循环的示例实现。

 public void print() {
   for (int x : arrayOfInts) {
     System.out.println(x);
   }
 }