reactive-mybatis-support icon indicating copy to clipboard operation
reactive-mybatis-support copied to clipboard

实际应用中采用Kotlin的时候出错,因为Kotlin代码的接口方法不支持default关键字

Open wunglee opened this issue 1 year ago • 1 comments

如下代码pro.chenggang.project.reactive.mybatis.support.r2dbc.binding.MapperProxy中的cachedInvoker方法,会在实际应用中采用Kotlin的时候出错,因为Kotlin代码的接口方法不支持default关键字,于是:

private MapperMethodInvoker cachedInvoker(Method method) throws Throwable {
    try {
        return (MapperMethodInvoker)MapUtil.computeIfAbsent(this.methodCache, method, (m) -> {
            if (m.isDefault()) {
                       ......//由于Java代码的接口方法支持default关键字,此处为true,进入正确分支。
            } else {
                      ......//由于Kotlin代码的接口方法不支持default关键字,此处为false,进入错误分支。
            }
        });
    } catch (RuntimeException var4) {
                     ......
    }
}

wunglee avatar May 03 '24 09:05 wunglee