开发者社区> 问答> 正文

Java实现接口代码转Kotlin报错?报错

描述:使用Spring-Cloud-Getway的时候,想写一个全局过滤器,在实现AbstractGatewayFilterFactory下边的apply方法时候,发现在Java中正常编译的代码,转Kotlin后报错(类型不匹配),想问下是语法问题还是其他什么原因造成的呢?

运行环境:JDK(1.8), Kotlin(1.2.71), IDEA(2018.2)

异常:

Java代码(正常编译):

public class Test extends AbstractGatewayFilterFactory<Test.Config> {

    @Override
    public GatewayFilter apply(Config config) {
        return this::filter;
    }

    private Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain){
        return chain.filter(exchange);
    }

    class Config{

    }
}

Kotlin代码(this::filter报错):

class IgnoreGlobalFilterFactory : AbstractGatewayFilterFactory<IgnoreGlobalFilterFactory.Config>(Config::class.java) {

    override fun apply(config: IgnoreGlobalFilterFactory.Config): GatewayFilter? {
        return this::filter
    }

    fun filter(exchange: ServerWebExchange, chain: GatewayFilterChain): Mono<Void>? {
        return chain.filter(exchange)
    }

    class Config
}

展开
收起
爱吃鱼的程序员 2020-06-06 09:48:24 789 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        语法有问题kotlin双冒号跟java不一样需要手动改造
                    
    
                        <p>兄弟搞笑了,那么完美的转换,那你直接用world写中文需求,然后一键转换成代码不就完了?</p>
                    
    
                        <div class="ref">
    

    引用来自“xiaolei123”的评论

    兄弟搞笑了,那么完美的转换,那你直接用world写中文需求,然后一键转换成代码不就完了?

    2020-06-06 09:48:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载