对于措辞道歉,我整天都在这里,而且我不知道自己在做什么。
链接中源代码的第44行,我想创建一个包含对象数组矩形/单词/日期引用的对象数组。当我尝试在[0] / things [1] / things [2]中引用对象时,我得到了地址,就是它(例如System.out.println(things [0])。
我非常确定使用Object超类与使用Driver对象相比是不好的做法。我很难宣布这样的事情: Driver [] rectangle = new MyMRects [10];
感谢您的时间!
答案 0 :(得分:4)
我不知道你为什么要创建things
数组。你似乎没有使用它。在任何情况下,比Object[]
数组更好的方法是创建一个包含正确类型变量的类:
class Things {
public MyMRects [] rectangles;
public MyStrings [] words;
public MyDates [] dates;
}
Things things = new Things();
things.rectangles = rectangles;
things.words = words;
things.dates = dates;
至于你“获取地址”的问题 - 这是数组的toString()
的默认行为。要将数组转换为人类可读的字符串,请尝试使用java.util.Arrays
类:
System.out.println(Arrays.toString(words));