相关疑难解决方法(0)

将许多"if else"语句转换为更清晰的方法

我的代码在这里检测是否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语句,什么设计模式适合删除许多ifelseif语句?

java design-patterns

111
推荐指数
3
解决办法
4万
查看次数

为什么Class.newInstance()"邪恶"?

瑞安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)

那么,为什么它是邪恶的?

java constructor runtime instantiation

91
推荐指数
3
解决办法
7万
查看次数