java中输出的变量的地址存储器

java中输出的变量的地址存储器,java,swing,combobox,jcombobox,Java,Swing,Combobox,Jcombobox,下面的代码用于根据所选日期用可用时间填充组合框 但是,出于某种原因,组合框存储数据示例的内存地址: Restaurant.Time@1a28362 Restaurant.Time@5fcf29 ... 我知道现在正是时候。但是我如何实际打印出实际的项目呢 TimeList times = dbConnector.selectTimes(lblDay.getText());//lblDay stores the date from the jCalendar button cmbNewResTi

下面的代码用于根据所选日期用可用时间填充组合框

但是,出于某种原因,组合框存储数据示例的内存地址:

Restaurant.Time@1a28362
Restaurant.Time@5fcf29
...
我知道现在正是时候。但是我如何实际打印出实际的项目呢

TimeList times = dbConnector.selectTimes(lblDay.getText());//lblDay stores the date from the jCalendar button
cmbNewResTimes.removeAllItems();
for (int pos1 = 0; pos1 < times.size(); pos1++) {
    cmbNewResTimes.addItem(times.getTimeAt(pos1).toString());
}
这意味着Restaurant.Time不会重写该方法,因此使用Object提供的默认实现

如果希望输出看起来不同,则需要重写Restaurant.Time.toString。

添加对象实例 首先,将其更改为:

// add the Object, rather than the String representation.
cmbNewResTimes.addItem(times.getTimeAt(pos1));  
设置渲染器 然后设置渲染器,请参见:

. 在这个答案中可以看到一个关于
虽然默认的ObjecttoString是这样的,但它并没有用更有意义的实现覆盖它。但这是吹毛求疵,仍然是+1'd.+1,用于引用呈现程序,而不是覆盖UI的toString实现purpose@Robin一般来说,我更喜欢实现而不是重写,但是浏览一下它,除此之外,还可以得到一些漂亮的结果;我更喜欢。。。SSCCE pip pip pip talking黑暗射击大师+1both@mKorbel我只是想到了你通常更好的例子,我认为对各种组件使用渲染器:@Andrew Thompson不是,你给出了很好的答案,但我敢打赌,JList、JComboBox或其他任何型号的OP casting值:-,可能是为什么选?根据选定日期的可用时间,什么、何时、何地和如何,可能答案更简单,以便更好地帮助更快地编辑你的问题