0

我正在尝试编写一个 Java 程序来解码和编码 Ogg 流。我有一个解码器工作,但我不喜欢我有重复代码的事实,所以我开始写这样的东西:

Decoder oggDecoder = new Decoder(
    new StringDecoder( "Ogg" ),
    new IntDecoder( "something" )//, ...
);

我为某些“类型”编写了编码器和解码器,然后用它们来构建整个东西。但是我不知道如何存储结果。我知道 3 个选项: - 将数据保存在一个字节数组中,并提供一个get( String name )set( String name, Object value )方法可以直接在字节上工作。- 使用字典。- 使用一个类并使用反射来设置属性。

我对性能不是很感兴趣,如果它很慢,我并不在乎,只要它足够快来阅读音乐。这意味着我知道自己编写函数会使其更快,但我只想编写一个适用于所有属性的函数。

那么你认为最快的方法是什么?

问这个问题的另一种方法是:给定一组字段名称作为字符串数组,存储从字节流解码的相应值的最合适的数据结构是什么: - 将它们保存为字节 - 将它们存储在字典 - 使用反射将它们存储在一个类中

提前感谢您的回答。

4

1 回答 1

2

KISS - 只需使用HashMap<String, byte[]>. 不需要反思。

更新 我不认为我一开始就明白你想要什么,但现在我认为你正在寻找的是一个异构的地图结构。

这是一个可能对您更有用的问题。

于 2012-08-14T14:23:52.750 回答