繁体   English   中英

如何从字符串中获取 object

[英]How do I get an object from a String

我正在做一个项目,用户可以在其中编写其他用户的邮件。 邮件类目前看起来像这样:

public class Mail
{
    /*
     * Fields
     */
    private final String _content;
    private final String _sender;
    private final String _date;
    private final String _topic;

    /**
     * Constructor of the Mail-class.
     *
     * @param mail The mail as a string representation.
     */
    public Mail(String mail)
    {
        _content = ...;
        _sender = ...;
        _date = ...;
        _topic = ...;
    }

    // And all the getters.

    @Override
    public String toString()
    {
      // Make the reperentation as a String
    }

现在,问题是,我需要将所有邮件保存到一个 .yml 用户数据文件中。 对我来说,最简单的方法是首先将每封邮件转换为字符串,然后将所有邮件保存到List<String> mails中,该邮件将直接写入 .yml 中,我可以在其中访问和读取字符串列表舒适。 现在,一旦我启动服务器,所有邮件都应该转换回对象表示。 问题是,我如何将邮件对象保存为字符串并加载它,我可以使用这些邮件对象进行操作。

我的第一个想法是这样的sender#date#topic#content然后通过String.split("#");拆分字符串。 . 但是当我这样做时,我需要禁止内容和主题的#字符。 日期和用户名永远不会包含# 我不想禁止任何角色。 不幸的是,到目前为止,我对如何解决这项任务的研究一无所获。

最好的办法是使用 XML 或 JSON 标记 object 并将其转换为字符串。 您可以使用大量的库来做到这一点。 它们都以大致相同的方式运行:为您的字段和 class 添加注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM