本帖最后由 tdiant 于 2023-3-28 13:41 编辑
就是如果我设计一个类Aclass 并实现ConfigurationSerializable接口
Aclass的成员有一个类Bclass的实例 Bclass 也实现ConfigurationSerializable接口
并且如果B的成员变量拥有一个List<ItemStack>
那么A和B的serialize和deserialize应该怎么去写呢?
就是如果我设计一个类Aclass 并实现ConfigurationSerializable接口
Aclass的成员有一个类Bclass的实例 Bclass 也实现ConfigurationSerializable接口
并且如果B的成员变量拥有一个List<ItemStack>
那么A和B的serialize和deserialize应该怎么去写呢?
你也可以借助第三方工具:Gson
Gson有个fromJson跟toJson一个序列化一个反序列化
Gson有个fromJson跟toJson一个序列化一个反序列化
没太看明白问题到底是什么意思
如果只是想实现对物品的序列化和反序列化的话
这个教程里的 数据处理 里或许有你想要的:
https://www.mcbbs.net/thread-1213792-1-1.html
如果只是想实现对物品的序列化和反序列化的话
这个教程里的 数据处理 里或许有你想要的:
https://www.mcbbs.net/thread-1213792-1-1.html
二白丶 发表于 2023-3-22 20:06
没太看明白问题到底是什么意思
如果只是想实现对物品的序列化和反序列化的话
这个教程里的 数据处理 里或许 ...
- public class Aclass{
- public Bclass b;
-
- }
- public class Bclass{
- List<ItemStack> items;
- }
就是这么一个类Aclass 的序列化

小钢炮君 发表于 2023-3-22 22:22
就是这么一个类Aclass 的序列化
那就是教程里 数据处理的内容,
你可以把列表里每个物品遍历出来然后挨个反序列化它们
类似
for(item:items) {
//反序列化,在那个教程里有写
}
本帖最后由 结冰的离季 于 2023-3-22 22:37 编辑
正常写。ItemStack 已实现 ConfigurationSerializable
bukkit yml 的反序列化器会自动处理 实现了 ConfigurationSerializable 的类,你可以随便嵌套
在你B类的自定义序列化方法里直接 config.set("items",items);就行
反序列化也一样 config.getList("items") 然后强转
正常写。ItemStack 已实现 ConfigurationSerializable
bukkit yml 的反序列化器会自动处理 实现了 ConfigurationSerializable 的类,你可以随便嵌套
在你B类的自定义序列化方法里直接 config.set("items",items);就行
反序列化也一样 config.getList("items") 然后强转