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

在IntelliJ控制台如何打印Java RestModel的详细内容而非哈希地址

解决方案

原因说明

Java中直接调用System.out.println()打印对象时,默认会调用该对象继承自Object类的toString()方法,原生实现就是输出「全类名@哈希值十六进制」的格式,所以你现在看到的就是默认输出结果。如果需要输出对象的字段详情,有两种常用方案:

方案1:重写toString()方法(无第三方依赖)

如果RestModel是你项目中自定义的类,直接重写该类的toString()方法即可:

  • 手动重写示例:
@Override
public String toString() {
    return "RestModel{" +
            "code=" + code +
            ", msg='" + msg + '\'' +
            ", data=" + data +
            '}';
}
  • 如果你用Lombok简化开发,直接在RestModel类上添加@ToString注解即可,编译时会自动生成包含所有字段的toString方法,无需手动编码。

方案2:序列化为JSON格式输出

如果需要标准JSON格式的打印结果,可以借助JSON序列化工具实现,常用的Jackson、Fastjson、Gson都支持该能力:

  • 以Fastjson为例,代码最为简洁:
System.out.println(com.alibaba.fastjson.JSON.toJSONString(restModel));
  • 以Jackson(SpringBoot项目默认内置)为例:
import com.fasterxml.jackson.databind.ObjectMapper;

// 全局可以复用一个ObjectMapper实例
ObjectMapper objectMapper = new ObjectMapper();
System.out.println(objectMapper.writeValueAsString(restModel));

注意:如果RestModel中包含密码、密钥等敏感字段,序列化时需要添加对应JSON库的字段忽略注解,避免敏感信息泄露。

内容的提问来源于stack exchange,提问作者Ian Cho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:10