【问题标题】:How do I group three object arrays under one object?如何将三个对象数组分组到一个对象下?
【发布时间】:2013-05-12 01:15:05
【问题描述】:

为措辞道歉,我整天都在做这件事,我 1/2 不知道自己在做什么。

链接中源代码的第 44 行,我想创建一个对象数组,其中包含对对象数组矩形/单词/日期的引用。当我尝试引用 things[0]/things[1]/things[2] 中的对象时,我会返回地址,仅此而已(例如 System.out.println( things[0] )。

http://pastebin.com/8QMTBruL

我很确定使用 Object 超类与使用 Driver 对象相比是不好的做法。我很难宣布这样的事情: Driver [] rectangle = new MyMRects[10];

感谢您的宝贵时间!

【问题讨论】:

  • 首先你需要减去 π
  • 这里的代码太多了。您需要剪掉所有的绒毛,并在这篇文章中实际发布相关的代码段......
  • 地址? java中没有地址。如果已正确分配,您将获得原始对象,但在将该对象转换回其原始类型之前,您将无法使用其任何方法。
  • 如果你有一个对象数组things 并且你做了things[n] 你会得到对象n,你期望它返回什么?如果您想访问n,请使用things[n][m]
  • 谢谢大家的cmets。我已经离开了一个数组,而是实现了一个自定义类。更清洁,更容易使用。

标签: java object driver compareto


【解决方案1】:

我不知道您为什么要创建 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));

【讨论】:

    猜你喜欢
    • 2019-07-29
    • 1970-01-01
    • 2018-07-10
    • 2020-02-08
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多