我的代码在这里检测是否mimeType等于某种MIME类型,如果是,它将进行某种转换
public void convertToMp3(File src, File target,String mimeType){
if(mimeType.equals("audio/mpeg")){
...
}else if(mimeType.equals("audio/wav")){
mp3ToWav();
}else if(mimeType.equals("audio/ogg")){
...
}else if(...){
... //More if and else here
}
Run Code Online (Sandbox Code Playgroud)
我缩短了我的代码,因为它有很多其他if语句,什么设计模式适合删除许多if和else或if语句?
瑞安DELUCCHI问这里的评论#3 汤姆Hawtin的回答是:
为什么Class.newInstance()"邪恶"?
这是为了响应代码示例:
// Avoid Class.newInstance, for it is evil.
Constructor<? extends Runnable> ctor = runClass.getConstructor();
Runnable doRun = ctor.newInstance();
Run Code Online (Sandbox Code Playgroud)
那么,为什么它是邪恶的?