画像の読み込みとキャッシュ用のライブラリを作成しています。ユーザー プログラマーに .png と .jpeg の間のファイル拡張子を選択してもらいたいのですが、この 2 つのみから選択する必要があります。プログラマーが別の拡張子を入力すると、エラーが表示されます。どうすればそうできますか?
質問する
84 次
1 に答える
1
私があなたの質問を正しく理解していれば、画像を処理するライブラリを作成したいのですが、ライブラリを使用するプログラマーが画像処理クラスをインスタンス化したい場合、jpg と png のどちらかを選択してもらいたいですか?
その場合、最良のオプションは列挙型を作成することです:
public enum ImageType
{
TYPE_JPG, TYPE_PNG;
}
そして、実際の画像操作クラスでは:
public class MyImageHandler
{
public MyImageHandler(ImageType type)
{
//You still need a nullcheck
if(type == null)
throw new NullPointerException("null is not accepted!");
if(type == ImageType.TYPE_JPG)
{
//JPG chosen
}
else if(type == ImageType.TYPE_PNG)
{
//PNG chosen
}
}
}
ユーザー・プログラマーがそれを使用する場合:
MyImageHandler handler = new MyImageHandler(ImageType.PNG); //correct
MyImageHandler handler = new MyImageHandler(ImageType.JPG); //correct
MyImageHandler handler = new MyImageHandler(null); //runtime error
于 2012-08-09T07:28:21.607 に答える