ファイルの計算を行うJavaプログラムを作成しています。 プログラムはわずか数フォーマットできるように、各タイプを持つファイルの3種類(文書、画像、動画)をサポートします。私のプログラムの中でいくつかの点で3つの列挙型を1つのタイプに一般化する
enum DocType {
pdf, doc, docx, xls, xlsx, ppt, pptx
}
enum ImageType {
bmp, jpg, png, gif, ico
}
enum VideoType {
avi, mpg, mp4, wmv, mov, flv, swf, mkv
}
を、私は関係なく、ファイルの種類のファイル拡張子を保持したいと思います、これは私が次の割り当てのいずれかを行うことができるようにしたいということを意味します
FileType fileExt = DocType.doc
FileType fileExt = ImageType.jpg
FileType fileExt = VideoType.mp4
私はJavaでその動作を達成することができますどのように?列挙型は他の列挙型を拡張できないので、基本的にエレガントな解決策は不可能です。
おかげ
これらの列挙型を作成し、そのファイルタイプがドキュメント、ビデオ、またはイメージタイプかどうかを別の方法で追跡する方がよい場合があります。おそらく、この列挙型は、メンバが 'document、image、video、... 'である別のenum型のインスタンス変数を持つでしょう。 – user2357112
スタイルのポイント - 'enum'値は' public static final'なので、他のコンパイル時定数と同じ名前にするべきです( 'UPPER_UNDERSCORE'の場合)。 –
本当に列挙型が本当に必要かどうかという疑問が残っています。私が想像できるような使い方では、文字列のリストはうまくいくはずです。 – jpmc26