gpt4 book ai didi

java - POJO 类中的 toString()

转载 作者:行者123 更新时间:2023-12-03 04:16:41 28 4
gpt4 key购买 nike

是否需要在所有POJO类中添加toString()?

这是一个非常基本的问题,但我担心在每 n 个 POJO 类中编写一段代码。

我跟踪了许多 java 源代码,并在这些 POJO 类中发现了一些共同点 -

@Override
public String toString() {
return StringUtil.toDetailString(this);
}

它是序列化所必需的还是有助于性能改进或其他什么?

最佳答案

根据我的经验,我更喜欢在所有 POJO 类中添加 toString() 方法,因为如果您想打印实例的当前状态(无论是否使用日志框架),它都会有所帮助。

默认的 toString() 方法输出由以下内容组成的字符串:

getClass().getName() + '@' + Integer.toHexString(hashCode())

99.8% 的情况下这都是没有用的。通常您想要读取类属性的值。为此,您需要重写toString()

您永远不知道何时想要在调试框架之外查看其状态。

如果您/其他人记录您的实例以查看它包含的内容,如果您不重写toString(),则输出将仅是名称和哈希值;这信息量不大。

据我所知,性能方面完全不受影响,序列化(使用严肃的框架)也不受影响。

我建议使用 IDE 的源代码生成功能来生成 toString() 方法。它速度快,给您更多的控制权。

关于java - POJO 类中的 toString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23470115/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com