Ogg ストリームをデコードおよびエンコードする Java プログラムを作成しようとしています。デコーダーは動作していますが、コードが重複しているという事実が気に入らなかったため、次のようなものを書き始めました。
Decoder oggDecoder = new Decoder(
new StringDecoder( "Ogg" ),
new IntDecoder( "something" )//, ...
);
いくつかの「タイプ」のエンコーダーとデコーダーを作成し、それらを使用して全体を構築しました。しかし、結果を保存する方法がわかりません。私が知っている3つのオプションがあります:-データをバイト配列に保持し、バイトで直接動作するメソッドを提供get( String name )
します。set( String name, Object value )
- 辞書を使う。- クラスを使用し、リフレクションを使用してプロパティを設定します。
私はパフォーマンスにはあまり興味がなく、音楽を読むのに十分な速さである限り、パフォーマンスが遅くても気にしません。つまり、自分で関数を作成すると高速になることはわかっていますが、すべてのプロパティに対して機能する関数を 1 つだけ作成したいと考えています。
では、これを行うための最速の方法は何だと思いますか?
この質問をする別の方法は次のようになります: フィールド名のセットが文字列の配列として与えられた場合、バイト ストリームからデコードされた対応する値を格納するのに最も適切なデータ構造は何ですか: - それらをバイトとして保持する - それらを格納する辞書 - リフレクションを使用してクラスに保存します
ご回答ありがとうございます。