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 回答