我遇到一个问题,在 Java 中,我有一个映射,例如map<K,V>
,K
并且V
可以是任意类型,例如int
, Long
, String
,Time
等。
地图序列化后,我可以得到K
或的长度V
吗?我可以写一个通用的方法来实现这个想法吗?就像是:
public long getLength(object obj) {
//how to get the length of this obj, obj can be any type
}
怎么可能这样做?
除了序列化之外,没有办法在序列化后获取对象的长度。
没有。
但是你可以近似,这里有一篇关于 sizeof 函数的好文章。
原因是您可以更改默认的二进制序列化(有点冗长)。有这些工具的比较,我上次在这个主题中 Kyro 是最优化的(比默认的 Java 二进制序列化小 10 倍,因为它既不会导出冗余数据,也不会导出任何与验证相关的数据)。