![](/img/trans.png)
[英]How do I get the class type of Object from HashMap<String, 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.