<分区>
我想制作一个通用函数,将字节数组反序列化为调用者指定的类型。 我觉得调用此类函数的一种真正直观的方式类似于:
byte[255] myData = [...]
String myUnserializedString = new Packet<String>(myData).unpack();
byte[4] myInt = [...]
int myUnserializedInt = new Packet<Integer>(myInt).unpack();
作为用户,这是我希望获得的那种界面。问题是(显然)每种类型都必须以不同的方式反序列化。这意味着 unpack() 方法必须执行某种自反测试以选择正确的方式来解释原始字节。
在尝试为这样一个类编写原型(prototype)后,我开始觉得泛型可能不是那种设计的正确工具。
是吗?