いくつかの処理を行う必要がある音楽記号の画像がたくさんあり、それぞれのファイル名に対応する整数コードを取得する必要があります。23 の可能なファイル名文字列と 23 の整数コードがあり、異なるディレクトリの下に同じ名前の画像が多数あります。
私がこれまでに持っている解決策を以下に(省略して)示します。int
および定数の負荷を定義してから、変換を行うためString
の巨大な一連のif
ステートメントであるメソッドを作成しました。
同じ効果を達成するためのより良い方法は何でしょうか? 私がやった方法は本当にひどいようです!何らかの を使用することを考えましMap
たが、最適な方法がわかりませんでした。
public class Symbol {
public static final int TREBLE_CLEF = 0;
public static final int BASS_CLEF = 1;
public static final int SEMIBREVE = 2;
// ...
public static final String S_TREBLE_CLEF = "treble-clef";
public static final String S_BASS_CLEF = "bass-clef";
public static final String S_SEMIBREVE = "semibreve";
// ...
public static int stringCodeToIntCode(String strCode) {
if (strCode == S_TREBLE_CLEF) {
return TREBLE_CLEF;
} else if (strCode == S_BASS_CLEF) {
return BASS_CLEF;
} else if (strCode == S_SEMIBREVE) {
return SEMIBREVE;
} //...
else {
return -1;
}
}
}