gpt4 book ai didi

java - 从序列化构建对象 - 哪个是首选?

转载 作者:行者123 更新时间:2023-12-01 06:48:36 25 4
gpt4 key购买 nike

假设您有一个类 SomeClass,它有自己的 toString() 实现,并且还能够通过读取相同的内容来解析自身的新实例字符串。

您更喜欢以下哪种方法,或者认为哪种方法更好用?您可以将其定义为另一个构造函数:

public SomeClass(String serializedString);

或者您可以将其定义为静态方法,该方法又创建一个新实例(通过其他构造函数之一,对其执行一些操作,然后返回新实例:

public static SomeClass toObject(String serializedString);

这还重要吗? (我的预感是这并不重要,但我正在努力确定)

最佳答案

我自己的偏好是将解析逻辑保留在构造函数之外。这样它就可以根据需要调用适当的构造函数(可能是私有(private)的)。它不必依赖于默认的对象构造等等。所以我会使用 toSomeClass() 方法。

此外,目前还不清楚 SomeClass(String) 是否会根据序列化字符串解析对象。对于采用字符串的构造函数可能还有许多其他含义。 toSomeClass() 静态方法清楚地说明了这一点。

关于java - 从序列化构建对象 - 哪个是首选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/574569/

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