枚举结合switch的妙用

2023-05-21  本文已影响0人  zxbyh

传统的写法

public Page selectPage(String sql, Map<String,Object> mapParam ){
    if(this.getDbType()== DbEnum.MySql){
        return this.selectPageMySql(sql,mapParam);
    }
    else if(this.getDbType()== DbEnum.PgSql){
        return this.selectPagePgSql(sql,mapParam);
    }
    else {
        return new Page(List.of(new Mp(new HashMap<>())),0L);
    }
}

优雅的写法

public Page selectPage(String sql, Map<String,Object> mapParam ){
    return switch (this.getDbType()){
        case MySql -> this.selectPageMySql(sql,mapParam);
        case PgSql -> this.selectPagePgSql(sql,mapParam);
    };
}

如果没有覆盖完全 枚举,会自动提示错误:


image.png
上一篇 下一篇

猜你喜欢

热点阅读