我创建了一个函数,它可以在我的数组中找到最多3个组。当我来打印这个时,内存地址[I @ 43c46747被打印,而不是数组中应该包含的最大值。Java打印阵列内存地址而不是阵列内容
我不允许使用任何进口声明/任何先进的解决方法 - 试图可能使用帮助函数?
谢谢:)
我创建了一个函数,它可以在我的数组中找到最多3个组。当我来打印这个时,内存地址[I @ 43c46747被打印,而不是数组中应该包含的最大值。Java打印阵列内存地址而不是阵列内容
我不允许使用任何进口声明/任何先进的解决方法 - 试图可能使用帮助函数?
谢谢:)
事实上,你看到的不是内存地址,而是数组的类名和散列值(十六进制形式)。这是从toString()
方法继承的行为java.lang.Object
您可以使用for-loop来逐个打印每个数组元素。
例如。
for (int i = 0; i < myArray.length; i ++) {
System.out.println(myArray[i]);
}
注意println
打印非原始类型的数组元素的toString
方法的结果。确保他们toString
,如果你想自定义的行为,而不是“类名@散列值”
然后写一个循环接一个打印阵列一个的每一个项目被正确重写。 – 2014-12-05 16:27:43