假设我有一个案例类,其成员类型是Scala / Java,我无法或想要修改,uPickle默认编写器/阅读器不支持。 有没有办法说出如何管理它? 为了更清楚,让我们举一个例子。
假设我有这些课程:
case class MyClass1 (a:BigInteger, b:BigInteger, c:Int, d:String)
case class MyClass2 (a:BigInteger, b:BigInteger, d:String)
(我知道uPickle可以管理BigInt,但是假设我必须使用java.math.BigInteger并复杂化我想要使用十六进制表示而不是十进制。(所以nb.toString(16)转换为hexa ,以及相反的适当构造函数
有没有办法说到uPickle读者和作者如何以每次BigInteger发生时自动使用的方式管理BigInteger?在某种程度上,我不必为每个类(MyClass1和MyClass2)编写特定代码。
uPickle文档仅讲述" Custom Picklers"对于由开发人员控制的类。这显然不是java.math.BigInteger的情况。 最直接的方法是我想定义一个自定义读写器,它扩展了uPickle提供的默认值?除非可以提供一些隐式转换。但我不知道该怎么做,也不知道是否可能。