我正在创建一个用于图像加载和缓存的库。我希望用户程序员选择.png和.jpeg之间的文件扩展名,只希望从这个2中选择它,如果程序员键入另一个扩展名,那么它必须显示错误。我怎么能这样做?
答案 0 :(得分: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