我正在尝试编写一个 Java 程序来解码和编码 Ogg 流。我有一个解码器工作,但我不喜欢我有重复代码的事实,所以我开始写这样的东西:
Decoder oggDecoder = new Decoder(
new StringDecoder( "Ogg" ),
new IntDecoder( "something" )//, ...
);
我为某些“类型”编写了编码器和解码器,然后用它们来构建整个东西。但是我不知道如何存储结果。我知道 3 个选项: - 将数据保存在一个字节数组中,并提供一个get( String name )
和set( String name, Object value )
方法可以直接在字节上工作。- 使用字典。- 使用一个类并使用反射来设置属性。
我对性能不是很感兴趣,如果它很慢,我并不在乎,只要它足够快来阅读音乐。这意味着我知道自己编写函数会使其更快,但我只想编写一个适用于所有属性的函数。
那么你认为最快的方法是什么?
问这个问题的另一种方法是:给定一组字段名称作为字符串数组,存储从字节流解码的相应值的最合适的数据结构是什么: - 将它们保存为字节 - 将它们存储在字典 - 使用反射将它们存储在一个类中
提前感谢您的回答。