0

Ogg ストリームをデコードおよびエンコードする Java プログラムを作成しようとしています。デコーダーは動作していますが、コードが重複しているという事実が気に入らなかったため、次のようなものを書き始めました。

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

いくつかの「タイプ」のエンコーダーとデコーダーを作成し、それらを使用して全体を構築しました。しかし、結果を保存する方法がわかりません。私が知っている3つのオプションがあります:-データをバイト配列に保持し、バイトで直接動作するメソッドを提供get( String name )します。set( String name, Object value )- 辞書を使う。- クラスを使用し、リフレクションを使用してプロパティを設定します。

私はパフォーマンスにはあまり興味がなく、音楽を読むのに十分な速さである限り、パフォーマンスが遅くても気にしません。つまり、自分で関数を作成すると高速になることはわかっていますが、すべてのプロパティに対して機能する関数を 1 つだけ作成したいと考えています。

では、これを行うための最速の方法は何だと思いますか?

この質問をする別の方法は次のようになります: フィールド名のセットが文字列の配列として与えられた場合、バイト ストリームからデコードされた対応する値を格納するのに最も適切なデータ構造は何ですか: - それらをバイトとして保持する - それらを格納する辞書 - リフレクションを使用してクラスに保存します

ご回答ありがとうございます。

4

1 に答える 1

2

キス- を使用してHashMap<String, byte[]>ください。反省はいらない。

更新 最初はあなたが何を望んでいるのか理解できなかったと思いますが、今あなたが探しているのは異種のマップ構造だと思います。

これは、あなたにとってより役立つかもしれない質問です。

于 2012-08-14T14:23:52.750 に答える