我正在创建一个用于图像加载和缓存的库。我希望用户程序员选择 .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 回答