Skip to content

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

@wunglee

Description

@wunglee
如下代码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) {
                     ......
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions