1

画像の読み込みとキャッシュ用のライブラリを作成しています。ユーザー プログラマーに .png と .jpeg の間のファイル拡張子を選択してもらいたいのですが、この 2 つのみから選択する必要があります。プログラマーが別の拡張子を入力すると、エラーが表示されます。どうすればそうできますか?

4

1 に答える 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 に答える