You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java读取二进制文件的Appointment对象打印带类名大括号如何解决

问题根因

你当前看到的输出格式是Appointment类的toString()方法的返回值,现有代码中的toString()要么是IDE自动生成的带类名、大括号的键值对格式,要么是Object类的默认实现。只要你直接将Appointment对象传入对话框打印方法,Java会自动调用该对象的toString()方法,就会输出不符合预期的格式。

实现预期输出的修改方案

方案1:重写Appointment类的toString()(推荐,全局生效)

直接修改Appointment.java文件,新增或覆盖原有toString()方法,代码如下:

// 加到Appointment类内部即可
@Override
public String toString() {
    return this.day + "," + this.hour + "," + this.name;
}

修改完成后,原有弹出对话框的代码不需要做任何改动,直接传Appointment对象就会输出你需要的逗号分隔格式。

方案2:输出时手动拼接属性(局部生效,无需修改模型类)

如果你不想改动Appointment类的全局默认输出逻辑,只需要在弹出对话框的位置手动拼接属性即可。
假设你原有弹出代码类似:

JOptionPane.showMessageDialog(null, appointmentObj);

修改为:

// 若属性是private修饰,提前给三个属性补充对应的getDay()、getHour()、getName()方法即可
String outputText = appointmentObj.getDay() + "," + appointmentObj.getHour() + "," + appointmentObj.getName();
JOptionPane.showMessageDialog(null, outputText);

如果需要输出多个预约对象,遍历预约集合时按上述规则拼接每个对象的字符串,再汇总为总输出内容即可。

内容的提问来源于stack exchange,提问作者Matt Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:24:05